使用test.each获取断言失败的日志消息



我正在尝试记录测试失败时的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();

如果有人知道一个更好或内置的解决方案,那将是一个更好的答案。

最新更新