我试图在测试失败时记录URL。我正在使用test.each(testData)
,其中testData
将为每次测试运行带有url
属性的对象。
断言失败,我想退出测试失败的url
,但我发现它很难做到。
这甚至可能吗?将参数传递给这样的断言:expect(metaTag).not.toBeFalsy('url goes here');
不起作用。也不会抛出错误。在标题定义时,也不会更改每个生成的测试的标题(使用test.each
),我无法访问url
。
我最终使用:https://www.npmjs.com/package/jest-expect-message
npm i -D jest-expect-message
将其添加到package.json:
"jest": {
"setupTestFrameworkScriptFile": "jest-expect-message"
},
使用:
expect(
metaTag,
`Could not find metaTag with selector ${robotsMetaTagSelector} for url ${url}`
).not.toBeFalsy();
如果有人知道更好或内置的解决方案 - 这将是一个更好的答案。