小编f4z*_*4zr的帖子

如何在玩笑中访问局部变量

目前,我正在尝试编写一个测试。我想在测试中使用局部变量,但不幸的是,我无法模拟或使用它。变量和使用它的函数不会被导出。

如何访问 utils.test.js 中的局部变量 authToken?所以我可以将 authToken 更改为另一个值。

我尝试使用重新接线(https://www.npmjs.com/package/rewire),但这不起作用。authToken 仍未定义。

实用程序.js

const { auth } = require('./auth.js');

let authToken = undefined;

const checkIfTokenIsValid = async () => {
    if (authToken) {
        authToken = await auth();
    }
};

module.exports = {
    // some other functions
}
Run Code Online (Sandbox Code Playgroud)

utils.test.js

const _rewire = require('rewire');
const utils = _rewire('../../lib/resources/utils');
utils.__set__('authToken', () => true);


describe('api auth', () => {
    // some tests
});
Run Code Online (Sandbox Code Playgroud)

javascript testing automated-tests unit-testing jestjs

2
推荐指数
1
解决办法
9541
查看次数