Testing Testcafe-从命令行过滤测试,但不从运行程序过滤
实际上,我正试图使用一个测试运行程序文件来从这个文件中找出我的所有配置。我正在使用冒烟测试和回归脚本。因此,我希望我的测试基于从tet runner文件中选择的冒烟或功能测试元数据运行。当我输入package.json文件时,过滤器工作。但它在使用runner.filter的测试运行程序文件中不起作用 如果有人知道原因,请帮忙 下面是Test.js文件的片段Testing Testcafe-从命令行过滤测试,但不从运行程序过滤,testing,filter,metadata,testcafe,fixtures,Testing,Filter,Metadata,Testcafe,Fixtures,实际上,我正试图使用一个测试运行程序文件来从这个文件中找出我的所有配置。我正在使用冒烟测试和回归脚本。因此,我希望我的测试基于从tet runner文件中选择的冒烟或功能测试元数据运行。当我输入package.json文件时,过滤器工作。但它在使用runner.filter的测试运行程序文件中不起作用 如果有人知道原因,请帮忙 下面是Test.js文件的片段 test.meta('smokeTest','true)('Testing application as admin', async t=
test.meta('smokeTest','true)('Testing application as admin', async t=> {
await t.click(elements.submitButton);
})
而测试运行程序文件是
const createTestCafe = require('testcafe');
try {
const runner = testcafe.createRunner();
const failedCount = await runner
.src('./tests/fixture1.js')
.filter(testMeta => {return testMeta.smokeTest === 'true';})
.browsers('chrome')
.run();
console.log('Tests failed: ' + failedCount);
}
finally {
await testcafe.close();
}
当我们从命令行运行过滤器时,它会工作,比如
testcafe chrome./tests/fixture1.js——test-meta-smokeTest=true
当我使用test runner文件时,它显示过滤器设置已排除所有测试,请尝试修改设置根据,您需要以以下方式指定过滤器回调参数:函数(testName、fixtureName、fixturePath、testMeta、fixtureMeta)
。您的.filter
应重写如下:
.filter((testName、fixtureName、fixturePath、testMeta、fixtureMeta)=>testMeta.smokeTest==='true')
我们很乐意帮助您诊断此问题,但是,我没有设法重现此问题。在这里提交一个bug报告:并在那里添加您的环境信息,以及一个示例项目和测试,这样我们就可以为您推荐一个解决方案。我刚刚更新了描述中的代码片段和我遇到的错误。请告诉我可能的解决方案。太好了!这真的奏效了。谢谢你的帮助!!