小编A.K*_*A.K的帖子

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

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

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

module.exports = {
 MY_CONSTANT: "TEST"
}
Run Code Online (Sandbox Code Playgroud)

` 我有一个我正在尝试测试的文件,它有一个这样的分支语句:

`

//file to test
//...

if(CONSTANTS.MY_CONSTANT === "TEST")
{...}
...
Run Code Online (Sandbox Code Playgroud)

`

我有一个这样的测试:`

//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...
    })
Run Code Online (Sandbox Code Playgroud)

`

我试过这个 - 运气不好,它不会改变实际值

我试过改变常量导出来导出一个对象(那没有用)

我试过在我的测试文件中为常量添加一个 jest.mock(..) 并在测试中做一个 unmock 我不需要它们被嘲笑。

我尝试在测试函数中添加 jest.doMock(...) 我需要更改值。(连同 jest.resetModules 和另一个需要)

我已经尝试将 jest.doMock(...) …

javascript testing unit-testing commonjs jestjs

12
推荐指数
4
解决办法
2万
查看次数

标签 统计

commonjs ×1

javascript ×1

jestjs ×1

testing ×1

unit-testing ×1