在单元测试中显示对象详细信息
Display object details in unit test
使用JsUnit,我试图利用assertEquals
函数,这样当一组测试失败时,它们将打印出关于失败原因的有用信息。
我目前的情况是这样的:
let actual = some_method_call ();
let expected = [
{num: 1, file: f, id: "apples"},
{num: 6, file: f, id: "bananas"},
{num: 9, file: f, id: "accurate_comparison"}
];
assertEquals (expected, actual);
不幸的是,遍历异常只剩下:
isJsUnitException: true
comment: null
jsUnitMessage: Expected [object Object],[object Object],[object Object] (object) but was 42 (number)
stackTrace: > JsUnitException:307
> _assert:113
> assertEquals:150
> testStealBitcoins:105
> anonymous:159
如何获取Expected行以智能地显示预期对象的内容?任何解决方案都需要适用于嵌套对象的各个层。此外,这是处理测试调试失败的错误方法吗?
为assertEquals创建一个包装器既有用又简单。我不明白的是,Javascript并不真正支持equals
方法,甚至不支持我在Java中习惯的toString
方法。
要打印变量的详细信息,以下是一种相当不错的方法:
if (typeof x === "object" && x !== null) {
print (JSON.stringify(x));
}
else {
print (String(x));
}
如果不使用GJS,则可以使用Console.log而不是打印。JSON字符串将对象转换为其JSON表示形式(作为字符串)。出于类型检查的考虑,它并不准确,但如果这不是您关心的问题,那么它可以很好地工作。
相关文章:
- 单击按钮即可在浏览器的新选项卡中打开 Sapui5 详细信息页面
- 如何在完整日历中的当天点击时显示活动详细信息
- Magento目录价格折扣规则不适用于产品详细信息页面
- 获取本地时间的JS日期,日期对象中没有时区详细信息
- Json阵列的详细信息显示在三页的angularjs中
- 如何获取数组详细信息另一页
- 如何用java脚本从领英获取详细信息
- Javascript函数详细信息
- 如何创建multiselect来显示Django中每个选定项的详细信息
- jQuery:获取图像加载错误的详细信息
- 如何从重定向的支付处理器网站提取交易详细信息并保存到我的rails 4数据库
- JQuery/Javascript来获取给定URL的Http Header详细信息
- 在knocket js中显示json对象的详细信息
- 如何获取给定表单详细信息的嵌套json对象
- Javascript:图像对象的oneror事件有哪些参数?如何获取与图像相关的错误的其他详细信息
- Javascript对象,其属性是有关“this”的函数详细信息
- 显示一年中每一天对象详细信息的日历
- 在 JavaScript 中调用对象详细信息 fron json
- 显示'详细信息'特定对象的-将JSON值从一个页面传递到另一个页面以查询API
- 在单元测试中显示对象详细信息