关于使用test.each的断言失败的Jest日志消息

时间:2018-11-12 09:26:44

标签: jestjs

我正在尝试在测试失败时记录URL。我正在使用test.each(testData),其中testData将为每次测试运行传递一个具有url属性的对象。

在断言失败时,我想注销未通过测试的url,但我发现这样做非常困难。

这甚至可能吗?将参数传递给这样的断言:expect(metaTag).not.toBeFalsy('url goes here');将不起作用。也不会抛出错误。同样,在标题定义时,也不会更改每个生成的测试的标题(使用test.each),我无权访问url

1 个答案:

答案 0 :(得分:0)

我最终使用了: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();

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