javascript - 如何向 Mocha 输出报告添加文本

标签 javascript mocha.js

我想跟踪一些值,比如时间和 gasused .我可以使用 console.log() 返回它,收集它,不是问题。但是想要一种比 console.log() 更强大、更好的方法来报告它。

一个简单的例子:

it("I can reserve up to 10.000", async() => {
  let instance = await FullCoupon.new(10000);
  // in reality this is a helper function to collect and output the values.
  var tx = await web3.eth.getTransactionReceipt(instance.transactionHash);
  console.log(tx.gasUsed);
  //...
});

上面的例子将打印行内和未填充的数字(屏幕截图中的 53855):screenshot

我正在寻找的是,最好是在测试运行期间收集消息并将它们打印在测试输出下方。例如,我的测试套件打印 > No events were emitted 的地方。

或者,或者,将文本添加到正在打印的测试行,类似于慢测试计时标志,例如 (185ms)

Mocha 是否提供 API 来设置要打印到其报告中的消息?

最佳答案

肯定有办法做到这一点。您可以使用其他支持此类功能的记者。您可以尝试使用 mochaawesome它具有向单个测试结果添加详细信息的功能。

要将一些测试添加到您的测试报告中,您可以使用如下代码:

const addContext = require('mochawesome/addContext');

从里面 block :

addContext(<value you want to print>);

要使用此报告程序,请在触发您的测试套件时使用 --reporter mochawesome

这将打印测试报告中的文本。还有其他记者也支持这种功能。希望这能解决问题。

关于javascript - 如何向 Mocha 输出报告添加文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51842223/

相关文章:

javascript - 2x if 语句 (sel.options[sel.selectedIndex].value)

javascript - jQuery 在另一个输入有值时禁用输入

node.js - 使用 mocha 递归测试

node.js - Mocha : skip tests in nested describes

node.js - 错误 : Module meteor can't get loaded. WebdriverIO

javascript - 如何使用 mocha 测试 d3.js?

javascript - 是否可以使用 Jest 或任何其他测试库/框架加载 url 并获取浏览器渲染的 DOM 对象?

javascript - 将数字转换为年和月的最简单方法

java - 使用谷歌API从Json获取地名

javascript - 使用 jQuery 将 HTML 表中的整列数据提取到数组中