我想将我在全局设置中创建的实例注入到每个测试中。
例如,我的目标是a.test.js
:
describe('a', () => {
it('foo is avaialble in this test', () => {
expect(global.foo).toBeTruthy();
})
});
所以我尝试了这个,我添加到了jest.config.js
:
module.exports = {
globalSetup: './setup.js',
};
我的setup.js
是实例化实例的位置:
const Foo = require('./Foo');
module.exports = async function() {
const foo = new Foo();
global.foo = foo;
}
如何使此foo
在所有测试中都可以全局使用?
我想使用自定义环境,并尝试添加到配置中:
testEnvironment: './myenv.js',
然后我将myenv.js
设置为:
const NodeEnvironment = require('jest-environment-node');
class MyEnv extends NodeEnvironment {
constructor(config) {
super(config);
}
async setup() {
await super.setup();
this.global.foo = global.foo; // HOW_TO_GET_FOO_FROM_SETUP?;
}
}
module.exports = MyEnv;
但是,我无法访问在foo
中创建的globalSetup
实例。有人有什么想法吗?