gpt4 book ai didi

reactjs - 如何在每个测试的基础上设置平台以进行 Jest 测试?

转载 作者:行者123 更新时间:2023-12-03 14:21:08 24 4
gpt4 key购买 nike

我正在用 Jest 测试 react 原生组件,我经常在我的风格中使用这样的东西:

import { StyleSheet, Platform } from 'react-native';

export default StyleSheet.create({
container: {
paddingTop: Platform.OS === 'ios' ? 30 : 10,
}
});

我遇到的问题是,在 Jest 测试中 Platform.OS 始终是 'ios' 这意味着 android 分支没有得到测试。

This让我认为我可以通过 Jest 配置来更改它,但因为我不想全局更改它,但在每个测试的基础上,这无论如何都是没有意义的。

最佳答案

尝试将其添加到测试文件的顶部。

jest.mock('Platform', () => {
const Platform = require.requireActual('Platform');
Platform.OS = 'android';
return Platform;
});
const Platform = require('Platform');

您可能需要为 iOS 创建一个不同的文件,但是您在模拟中设置的任何平台都将适用于您的测试规范文件。

关于reactjs - 如何在每个测试的基础上设置平台以进行 Jest 测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40364418/

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