【发布时间】:2017-03-14 20:22:20
【问题描述】:
我正在用 jest 测试 react-native 组件,我经常在我的样式中使用这样的东西:
import { StyleSheet, Platform } from 'react-native';
export default StyleSheet.create({
container: {
paddingTop: Platform.OS === 'ios' ? 30 : 10,
}
});
我遇到的问题是,在开玩笑的测试中,Platform.OS 总是'ios',这意味着 android 分支没有得到测试。
This 让我觉得我可以通过一个开玩笑的配置来改变它,但因为我不想在全局范围内改变它,但在每个测试的基础上,这无论如何都没有意义。
【问题讨论】:
-
你试过使用可变环境吗?
-
这个问题似乎更多是关于具有特定于平台扩展名的文件而不是平台条件,但也许你可以在那里评论你的问题:github.com/facebook/jest/issues/1370。
-
另外,这绝不是一个非常优雅的解决方案,但您可能想尝试github.com/facebook/jest/issues/1738 中提到的方法。即,只需要
react-native并在运行测试之前直接为Platform.OS赋值。
标签: reactjs react-native jestjs