- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我使用 Jest 在节点中进行单元测试。
我使用了新功能 globalSetup来自 Jest v22。
我在 globalSetup 中定义了一个全局变量.
但是我无法在测试代码中得到它。控制台日志未定义。
这个问题有人吗?
谢谢。
Jest 版本:22.0.0
节点版本:8.9.0
yarn 版本: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.
最佳答案
Jest 人自己提供了一个解决方案:https://jestjs.io/docs/en/puppeteer.html .请注意,如果您使用的是 CRA,这将无法开箱即用(下面的解决方案),因为它目前不支持 Jest 的 testEnvironment 选项。
无论如何:
"test:e2e": "jest -c ./jest-e2e.config.js"
并根据需要进行设置。现在您将拥有
npm run test
用于单元测试和
npm run test:e2e
用于端到端测试。
关于jestjs - 为什么无法在测试代码中获取 globalSetup 中设置的全局变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48208608/
我使用 Jest 在节点中进行单元测试。 我使用了新功能 globalSetup来自 Jest v22。 我在 globalSetup 中定义了一个全局变量. 但是我无法在测试代码中得到它。控制台日志
我正在尝试使一个名为 loadFixtures 的函数可用于所有 Jest 测试。 我在 package.json 中的 jest 配置对象中有以下行: "globalSetup": "/src/te
所以我关注了this example在开 Jest 时用 mongodb 进行测试,但是在配置完所有内容后,我在运行 Jest 时得到了这个: 如果我从 jest.config.js 中删除 glob
我目前正在使用 global-setup.ts 文件通过 playwright 加载 url。 await page.goto('https://test1.com/'); 我也在这里面做了额外的代码
我想用globalSetup和 globalTeardown来自带有 Detox 的 Jest,以便 detox 设置只发生一次,但如果 init 不是 beforeAll,则 Detox 似乎失败。
我遇到了与 #5164 中类似的问题和 this question .考虑以下工作测试代码: // AccountResolver.test.ts describe('Account entity',
使用 JS 钩子(Hook)调用 TS setupGlobal 函数(在模块导入时使用,例如 @app/blablabla.ts ),我收到错误 Cannot find module '@config
我已经阅读了 Jest 文档,我认为它们按此顺序运行。我还了解到 globalSetup 在不同的进程中运行,因此不与常规测试套件共享任何范围,而是与 globalTeardown 共享任何范围,因此
我是一名优秀的程序员,十分优秀!