首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >assertEquals()在JSUnit中实际上是做什么的?

assertEquals()在JSUnit中实际上是做什么的?
EN

Stack Overflow用户
提问于 2016-02-16 14:04:50
回答 1查看 3.9K关注 0票数 1

我正在使用我编写的HTML5 5/JS游戏和JSUnit测试运行程序进行一些单元测试练习。我对它的简单性感到满意,但是即使在文档中也是如此,因为没有人解释assertEquals()是怎么做的。

我做了一个存根,也就是我的预加载器的假对象,我想检查它的状态与这个假预加载器。

我使用了assertEquals(gamePreloader,myPreloader),但是测试失败时出错:

代码语言:javascript
复制
Expected <[object Object]> (Object) but was <[object Object]> (Object)

意思是他们不是同一个对象。

assertEquals()检查对象的状态,还是在内存中检查这两个对象实际上是同一个对象?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-02-16 14:28:08

assertEquals将执行equal-equal-equal操作,因此它将执行以下操作:

代码语言:javascript
复制
 gamePreloader === myPreloader

在这种情况下,只有当对象完全相同时才会返回true,而不是如果它们具有相同的值。如果要测试某个对象的属性值,则必须具体测试它,例如:

代码语言:javascript
复制
assertEquals(gamePreloader.status, myPreloader.status)

如果您想测试所有的值,那么您将需要一个循环,或者类似的东西:

代码语言:javascript
复制
Object.keys(gamePreloader).forEach(function(key) {
  assertEquals(gamePreloader[key], myPreloader[key]);
});
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35434670

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档