我正在尝试记录测试失败时的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();
如果有人知道一个更好或内置的解决方案,那将是一个更好的答案。