簡體   English   中英

JSUnit中的assertEquals()實際做什么?

[英]What does assertEquals() in JSUnit actually do?

我正在使用我編寫的HTML5 / JS游戲和JSUnit測試運行程序進行一些單元測試練習。 我對它的簡單性感到滿意,但即使在文檔中也是如此,因為沒有任何解釋確切地聲明assertEquals()的作用。

我制作了預加載器的存根(也稱為假對象),我想對照此偽預加載器檢查其狀態。

我使用assertEquals(gamePreloader,myPreloader),但是測試失敗並顯示以下錯誤:

Expected <[object Object]> (Object) but was <[object Object]> (Object)

意味着它們不是同一對象。

assertEquals()是檢查對象的狀態還是在內存中檢查這兩個對象實際上是同一對象?

assertEquals將執行equal-equal-equal操作,因此它將:

 gamePreloader === myPreloader

在這種情況下,僅當對象完全相同時才返回true,而在它們具有相同值時則不會返回true。 如果要測試某個對象的屬性值,則必須專門對其進行測試,例如:

assertEquals(gamePreloader.status, myPreloader.status)

如果要測試所有值,則需要一個循環或類似的東西:

Object.keys(gamePreloader).forEach(function(key) {
  assertEquals(gamePreloader[key], myPreloader[key]);
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM