我正在试着过滤掉一些我们一直跳过的测试。"test.skip“是跳过测试的默认方式,但是TestCafe在跳过测试后遇到了运行冻结的问题。
同时,他们有一个过滤选项用于他们的testcaferc文件,我想用它来基本上忽略测试。由于忽略的测试不会在使用filter选项的报告中显示,我希望这意味着忽略测试后TestCafe不会冻结。
他们的文档说明了如何使用过滤器仅运行指定的测试,但缺少其负面方面:
https://testcafe.io/documentation/402638/reference/configuration-file#filter
我已经能够很好地过滤出单个测试,但是我们现在有多个测试需要忽略,当我尝试添加一个新的正则表达式时,运行停止并说“没有与您的过滤器匹配的测试”。
我正在寻找一种方法来拥有多个正则表达式,以便TestCafe知道忽略多个测试。
以下是有效的方法:
"filter": {
"testGrep":
"^((?!user_is_able_to_add_a_section_column_row_and_element_to_editor).)*$"
}下面是不起作用的地方:
"filter": {
"testGrep": [
"^((?!user_is_able_to_add_a_section_column_row_and_element_to_editor).)*$",
"^((?!pop_up_element_displays_during_page_preview).)*$"
]
}发布于 2021-12-03 09:56:50
testGrep配置选项仅支持单个正则表达式。您可以指定一个带有alternation的正则表达式来忽略多个测试:
"filter": {
"testGrep": "^(?!.*(Test One|Test Two)).*$"
}另一种方法是使用JS配置文件而不是JSON。它允许您指定一种方法,在该方法中,您可以以任何您想要的方式过滤测试:
module.exports = {
src: './tests/test.js',
filter: (testName => !testName.includes('Test One') && !testName.includes('Test Two'))
}此方法类似于Runner.filter方法。
https://stackoverflow.com/questions/70186825
复制相似问题