Il s'agit du composant react native
//Test.js
export default class Test extends Component {
render() {
return(
<View>
</Animated.View> {
Platform.OS === 'android' &&
<TouchableNativeFeedback>
// some android specific code
</TouchableNativeFeedback>
}</Animated.View>
</View>
)
}
}
Il s'agit du cas de test ;
//testcases.js
import { Text, TouchableOpacity, Platform } from 'react-native';
import React from 'react';
import ReactDOM from 'react-dom';
import { shallow } from 'enzyme';
import Test from '../Test'
describe('Testing an App', () => {
let snapshot;
beforeAll(() => {
snapshot = shallow(<Test />);
Platform.OS = 'android';
});
it(' -- must return 1', () => {
expect(snapshot.find('TouchableNativeFeedback').length).toBe(1);
});
});
Alors que le rendement attendu est de 1, la valeur reçue est de 0. J'ai configuré la plate-forme en tant qu'"Android", mais je n'ai pas obtenu de résultat.
Je suis novice en matière de tests d'automatisation des téléphones portables ; il se peut donc que je passe à côté de quelque chose d'évident. Est-ce que je devrais utiliser react-dom pour faire le rendu et tester plus loin ?
J'ai l'impression qu'il s'agit de quelque chose de très évident, mais je n'arrive pas à mettre le doigt dessus.
Voici mon package.json
{
"name": "exampleApp",
"version": "0.0.1",
"private": true,
"scripts": {
"start": "node node_modules/react-native/local-cli/cli.js start",
"test": "jest"
},
"dependencies": {
"react": "15.4.1",
"react-native": "0.42.3"
},
"devDependencies": {
"babel-jest": "20.0.3",
"babel-preset-react-native": "2.0.0",
"jest": "20.0.4",
"enzyme" : "2.8.0",
"react-dom": "15.4.1",
"react-addons-test-utils":"15.4.1",
"react-test-renderer": "15.4.1"
},
"jest": {
"preset": "react-native"
}
}