JSUnit 中的 assertEquals() 实际上做了什么
What does assertEquals() in JSUnit actually do?
我正在使用我编写的HTML5/JS游戏和JSUnit测试运行器进行一些单元测试练习。我对它的简单性感到满意,但这种简单性甚至在文档中也是如此,因为没有解释真正的断言Equals((做什么。
我为我的预加载器制作了一个存根(又名假对象(,我想针对这个假预加载器检查它的状态。
我使用了assertEquals(gamePreloader,myPreloader(,但测试失败并显示错误:
Expected <[object Object]> (Object) but was <[object Object]> (Object)
这意味着它们不是相同的对象。
assertEquals(( 是检查对象的状态,还是在内存中检查这两个对象实际上是同一个对象?
assertEquals
将执行equal-equal-equal
操作,因此它将执行以下操作:
gamePreloader === myPreloader
在这种情况下,仅当对象完全相同时,它才会返回 true,而不是如果它们具有相同的值。如果要测试某个对象的属性值,则必须专门测试它,例如:
assertEquals(gamePreloader.status, myPreloader.status)
如果你想测试所有值,那么你需要一个循环,或者类似的东西:
Object.keys(gamePreloader).forEach(function(key) {
assertEquals(gamePreloader[key], myPreloader[key]);
});
相关文章:
- 这是什么 ==- javascript 运算符
- 我的单元测试选项是什么
- 全局变量和全局对象的属性之间有什么区别吗
- 打破承诺链的好方法是什么
- 在AngularJS应用程序中使用封装指令和路由的推荐方式是什么
- Javascript中的空白是什么
- 是什么让一个“;Uncaught RangeError:超过了最大调用堆栈大小“;错误(Chrome,在其他浏览器中显示
- 实际上什么是redux
- setScrollbar() 方法实际上在模态.js中做什么
- 找出骨干网“路由器”实际上得到了什么
- 如果数组键实际上是字符串,那么数组和对象的区别是什么
- 是我提供的代码实际上与AJAX调用I'I’我想对Servlet做点什么
- @private注释在 Google Closure JavaScript 代码中实际上做了什么
- Math.floor(Math.random()) +1 实际上做了什么
- .files 在 JavaScript 中实际上做了什么?
- JSUnit 中的 assertEquals() 实际上做了什么
- Request.text()(以及从 Body 实现的其他函数)实际上做了什么
- 观察实际上由getter推导出的“属性”的细微差别是什么?
- 在JavaScript中,换行符实际上并不是在创建新行,有没有其他选择,或者我做错了什么
- Array.apply 实际上在做什么