Jestjs 使用jest测试两个环境
我想设置两个不同的环境,并能够在观察模式下运行Jestjs 使用jest测试两个环境,jestjs,Jestjs,我想设置两个不同的环境,并能够在观察模式下运行 |-- /server | |-- index.js <- Node |-- /client | |-- index.js <- jsdom |-- package.json 但这不允许我同时运行这两个程序。编辑(2018年1月): 现在可以这样做了(从Jest v20开始),该选项称为projects。阅读更多关于 基本上,您可以定义希望Jest在其中运行的项目数组: { "projects": ["&l
|-- /server
| |-- index.js <- Node
|-- /client
| |-- index.js <- jsdom
|-- package.json
但这不允许我同时运行这两个程序。编辑(2018年1月):
现在可以这样做了(从Jest v20开始),该选项称为projects
。阅读更多关于
基本上,您可以定义希望Jest在其中运行的项目数组:
{
"projects": ["<rootDir>/client", "<rootDir>/server", "<rootDir>/some-glob/*"]
}
原始答案:
目前这是不可能的,但该案例存在一个问题:
请随意加入并留下评论 您还可以使用以每个文件为基础设置测试环境:
/**
*@jest-environment-jsdom
*/
test('在此测试文件中使用jsdom',()=>{
常量元素=document.createElement('div');
expect(element.not.toBeNull();
});
我认为这在Jest 20+中是可能的。您现在如何正确设置它?例如,我需要不同的jest.config.js吗?编辑:好的,我找到了一个解决方案:我这样做的一种方法是采用我原来的顶级jest配置,并将其放置在原始环境的projects
数组中,然后为我的节点环境定义第二个配置。这似乎适用于定义的一(1)个jest.config.js文件!太好了,你解决了!您还可以向您的项目传递路径数组,甚至传递glob,其中每个项目都需要某种配置(或者jest.config.js
或者package.json
中的jest
条目)。
{
"projects": ["<rootDir>/client", "<rootDir>/server", "<rootDir>/some-glob/*"]
}
{
"projects": ["<rootDir>/client/configs/jest.js", "<rootDir>/server/configs/jest.js"]
}