我在 Jest 中有一个全局设置。
"jest": {
"globalSetup": "./setup.js"
}
Run Code Online (Sandbox Code Playgroud)
在设置中,我有一个异步函数,它将会话密钥写入全局
const axios = require('axios');
async function getSessionKey() {
const response = await axios.post("http://apiUrl", {
username: "K",
password: "passw0rd"
});
sessionKey = response.data.sessionKey;
global.sessionKey = sessionKey;
}
module.exports = getSessionKey;
Run Code Online (Sandbox Code Playgroud)
我在全局中保存的任何会话密钥在测试文件中都不可用。global.sessionKey 在下面的测试中未定义。
test("create session", () => {
expect(global.sessionKey).toBeTruthy();
});
Run Code Online (Sandbox Code Playgroud)
我想通过某种方式在安装文件中的全局对象中设置 sessionKey。在我运行任何测试之前,会话密钥应该可用。
globalSetup/globalTeardown不能用于将上下文/全局变量注入沙盒测试套件/文件。使用setupFiles/setupTestFrameworkScriptFile代替。
您可以通过其他方式自定义测试运行时testEnvironment,更多详细信息请参见此处:Async setup of environment with Jest
| 归档时间: |
|
| 查看次数: |
12167 次 |
| 最近记录: |