我使用Jest在节点中进行单元测试.
我使用了Jest v22中的新功能globalSetup.
我在globalSetup中定义了一个全局变量.
但我无法在测试代码中得到它.控制台日志未定义.
这个问题的任何人?
谢谢.
开玩版:22.0.0
节点版本:8.9.0
纱线版本:1.3.2
操作系统:mac High Sierra 10.13.2
代码如下:
// package.json
{
"jest": {
"globalSetup": "<rootDir>/src/globalSetupTest.js"
}
}
// globalSetupTest.js
module.exports = async function() {
global.foo = 'foo';
console.log(`global setup: ${global.foo}`);
};
// App.test.js
describe('APP test', () => {
it('renders without crashing', () => {
console.log({ foo: global.foo });
});
});
// test result
yarn run v1.3.2
$ node scripts/test.js --env=node --colors
global setup: foo
PASS src/App.test.js
APP test
? renders without crashing (5ms)
console.log src/App.test.js:3
{ foo: undefined }
Test Suites: 1 passed, 1 total
Tests: 1 passed, 1 total
Snapshots: 0 total
Time: 0.354s, estimated 1s
Ran all test suites.
Run Code Online (Sandbox Code Playgroud)
你能试一下吗..
global.foo = 'foo';
console.log(`global setup: ${global.foo}`);
Run Code Online (Sandbox Code Playgroud)
(删除出口)
您可以尝试将 globalSetup 更改为 setupFiles。那个,不会期望有任何功能。
https://facebook.github.io/jest/docs/en/configuration.html#setupfiles-array
| 归档时间: |
|
| 查看次数: |
3432 次 |
| 最近记录: |