Jest-为特定测试锁定模块中的常量属性
本文介绍了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)
我真的不知所措……从字面上讲,我想做的就是在测试运行