Jest测试__DEV__未定义

时间:2017-05-31 20:41:04

标签: react-native jestjs babel-jest

基本上我的问题是我收到一条错误消息,“当我运行jest时,”__DEV__未定义。所以我已经阅读了stackoverflow和其他谷歌帖子。有人建议删除我的.babelrc,但实际上我需要该文件。其他人建议添加

"globals": {
  "__DEV__": true
}

到我的package.json。我也这样做了。我甚至删除了我的节点模块文件夹并重新安装。我该怎么办?奇怪的是,它之前有效,但现在还没有。

4 个答案:

答案 0 :(得分:1)

只需将globals.DEV = true添加到您的测试文件中,或将其设置在globals

[TestClass] public class PersonRegistration { [TestMethod] public void TestMethod() { RegisterBindingModel model = new RegisterBindingModel(); var mockService = new Mock<ILoggingService>();//Mock //Do something as per your requirement //var reg= new List<RegisterBindingModel >(); // provide some sample list //mockService .Setup(r => r.GetAll=()).Return(reg); var mockManager = new Mock<IUserManager>();//Mock //Do something as per your requirement //var user= new List<User>(); // provide some sample list //mockManager .Setup(r => r.GetAll=()).Return(user); AccountController ac = new AccountController(mockManager.Object, mockService.Object); model.UserName = "test123@gmail.com"; var result = ac.Register(model); Assert.AreEqual("User Registered Successfully", result); } } 部分中

答案 1 :(得分:0)

您可以在react-native项目的根目录中创建一个jest.config.json文件,并将其像这样全局添加

{
"jest": {
    "globals": {
    "__DEV__": true
    }
 }
}

答案 2 :(得分:0)

当我在我的react native应用程序中运行Detox E2E测试时得到了这个。然后可以正常使用,但是后来我升级了Mac OS和xcode,它们开始抛出参考错误 DEV ,但未定义。不知道为什么之前还好,然后又坏了。

当我从排毒E2E测试中删除了从我的react native应用程序导入的任何代码时,我的问题已修复。所以问题是从我的app /文件夹中导入任何JavaScript。我有一个简单的实用程序日志功能,该功能包装了造成问题的console.log。我不需要修改任何玩笑的配置。

答案 3 :(得分:0)

对于遇到此问题的任何人,我通过在终端 npm update jest 中运行更新了我的笑话,这为我解决了问题。