gpt4 book ai didi

android - 在 React Native 应用程序上使用 Jest 进行平台特定测试

转载 作者:行者123 更新时间:2023-11-29 02:39:56 25 4
gpt4 key购买 nike

这是 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>
)
}
}

这是测试用例;

//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);
});
});

虽然预期 yield 为1;收到的值为0;我已将平台设置为“android”,但运气不好。

我是移动自动化测试的新手;因此我可能会遗漏一些明显的东西。我应该使用 react-dom 来进一步渲染和测试吗?

我觉得这是很明显的事情,但我无法理解它。

这是我的 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"
}
}

最佳答案

您不能直接在测试中更改平台。您需要在设置中设置所需的平台。看看this documentation看看怎么做。

关于android - 在 React Native 应用程序上使用 Jest 进行平台特定测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44926458/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com