愿所有的美好和期待都能如约而至

Jest-为特定测试锁定模块中的常量属性

发布时间:  来源:互联网  作者:匿名  标签:commonjs error Jest - Mock a constant property from a module for a specific test  热度:37.5℃

本文介绍了Jest-为特定测试锁定模块中的常量属性的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

所以,我正在尝试做一些表面上应该非常简单的事情…

我在中定义了一些常量:
`
//constants.js

module.exports = {
 MY_CONSTANT: "TEST"
}

`
我有一个我正在尝试测试的文件,其分支语句如下:

`

//file to test
//...

if(CONSTANTS.MY_CONSTANT === "TEST")
{...}
...

`

我有一个这样的测试:
`

//test


 it("Should do something when MY_CONSTANT === "TEST, () => {
    //This is fine as it is exported as TEST
    })


 it("Should do something else when MY_CONSTANT !== "TEST, () => {
    //This seems annoyingly difficult to get working...
    })

`

I’ve tried this
-如果运气不好,它不会改变实际值

我已尝试将常量导出改为导出对象(不起作用)

我尝试添加jest.mock(..)对于我的测试文件中的常量并在测试中执行unmock,我不希望它们被模仿。

我尝试添加了jest.doMock(…)在测试函数中,我需要更改该值。(以及jest.ResetModules和另一个必需的)

我尝试添加了jest.doMock(…)到每个测试之前(以及jest.Reset模块和另一个Required)

我真的不知所措……从字面上讲,我想做的就是在测试运行

勇敢去编程!

勇敢的热爱编程,未来的你一定会大放异彩,未来的生活一定会因编程更好!

TOP