我正在为我的原生react项目创建一个JS测试。我特别为react native使用了firebase,如果JS正在运行我的类的代码,我想用一个mockfirebase实例替换firebase实例。
例如,我的类设置如下所示。
import firebase from 'react-native-firebase';
class Database() {
/// use the firebase instance
}我想检查一下jest是否是运行环境,然后我会用适当的mock类替换import行。
发布于 2018-09-08 11:36:26
jest设置了一个名为JEST_WORKER_ID的环境变量,因此您可以检查是否设置了该变量:
function areWeTestingWithJest() {
return process.env.JEST_WORKER_ID !== undefined;
}我还看到,如果没有设置测试,jest CLI会将其设置为值‘NODE_ENV’。这可能是另一种检查方式。
发布于 2020-03-02 22:49:46
我通常在我的shell上全局设置NODE_ENV=development。这对我来说很有效:
typeof jest !== 'undefined'(请注意,global.jest和'jest' in global不起作用,因为这似乎不是全局变量,只是在所有模块上提供的一个值,就像node的require或__filename一样)
发布于 2020-11-05 05:09:27
您可以向global添加参数,例如global.isJest,并检查前端是否定义了该参数
https://stackoverflow.com/questions/50940640
复制相似问题