我在一个nrwl-nx工作区工作,我在其中设置了一个cyprus BDD cucumber项目。我需要使用nrwl基于标签运行柏树测试。
通常,我会使用cyprus标签命令来做同样的事情:例如:CCD_ 1";
我将相同的逻辑应用于nx命令。例如:nx e2e myProject-e2e --tags=@reg
但是nx项目正在识别柏树中的所有测试用例,它没有考虑到标记有标签"的测试用例@reg";
如果nrwl中有基于标签运行柏树测试的规定,有人能指导我吗
我遇到了同样的问题,并通过使用NX配置中的ENV对象找到了解决方法:
通过这种方式,我在project.json
配置文件中添加了标签,在我的情况下,用于运行烟雾测试和基于标签过滤的回归测试:
"smoke": {
"executor": "@nrwl/cypress:cypress",
"options": {
"cypressConfig": "apps/explore-e2e/cypress.json",
"baseUrl": "<BASE_URL>",
"env": {
"TAGS": "@smoke"
}
},
"configurations": {
"staging": {
"baseUrl": "<STG_URL>"
},
"production": {
"baseUrl": "<PROD_URL>"
}
}
},
"regression": {
"executor": "@nrwl/cypress:cypress",
"options": {
"cypressConfig": "apps/explore-e2e/cypress.json",
"baseUrl": "<BASE_URL>",
"env": {
"TAGS": "@regression"
}
},
"configurations": {
"staging": {
"baseUrl": "<STG_URL>"
},
"production": {
"baseUrl": "<PROD_URL>"
}
}
}
有了这个,你现在可以开始标记你的场景,并用运行它
nx e2e myProject-e2e:smoke --TAGS=@smoke
(在我的情况下,我使用的是:yarn nx run
(
您可以使用"配置";NX中具有多个标签的功能
您是否尝试在cypress.config.ts文件的env部分指定标记?我在这里指定了标签,这会过滤掉我通过Cypress runner运行的测试:
module.exports = defineConfig({
env: {
tsConfig: 'tsConfig.json',
tags: '@a',
},
<other configs here>
类似于运行命令行时过滤掉:
nx e2e myproject-e2e --env.tags=@a