使用test.each在断言失败时发送日志消息

问题描述 投票:0回答:1

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

断言失败,我想退出测试失败的url,但我发现它很难做到。

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

jestjs
1个回答
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();

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

© www.soinside.com 2019 - 2024. All rights reserved.