我正在使用Jasmine karma測試用例一段時間,發現測試因爲使用.toBe()而不是.toEqual()而失敗。 .toBe()和.toEqual()之間以及使用這些時的區別是什麼?.toBe()和.toEqual()之間的區別 - Jasmine Karma測試用例
1
A
回答
2
在我的經驗toBe
用於比較字符串,布爾值,例如:
expect(enabled).toBe(true)
expect(user.name).toBe('Bob')
toEqual
比較數組或對象時使用。例如:
expect(myArray).toEqual([1,2,3])
1
toBe()
比較嚴格(例如:obj1 === obj2
)
如果比較兩個對象中的對象的身份被取入考慮。而
toEqual()
只考慮條目的值(它比較下劃線的方法isEqual
等對象)。
0
這裏是解釋兩者之間的區別爲例
describe("Included matchers:", function() {
it("The 'toBe' matcher compares with ===", function() {
var a = 12;
var b = a;
expect(a).toBe(b);
expect(a).not.toBe(null);
});
describe("The 'toEqual' matcher", function() {
it("works for simple literals and variables", function() {
var a = 12;
expect(a).toEqual(12);
});
it("should work for objects", function() {
var foo = {
a: 12,
b: 34
};
var bar = {
a: 12,
b: 34
};
expect(foo).toEqual(bar);
});
});
});
,你可以在官方website
相關問題
- 1. Jest中的'toBe'和'toEqual'有什麼區別?
- 2. Karma-Jasmine:如何測試$ translate.use?
- 3. 用node-inspector調試karma-jasmine測試
- 4. 測試StringBuilder和StringBuffer之間的區別
- 5. 設置Jasmine&Karma來測試Angular
- 6. 有人可以解釋測試場景和測試用例之間的區別
- 7. 調試反應單元測試(Karma/Jasmine)
- 8. 使用Karma和Jasmine獲取angularJs單元測試的錯誤
- 9. 單元測試karma-runner/jasmine剖析
- 10. Jasmine中的測試用例
- 11. 測試JavaScript和測試Ajax之間的區別?
- 12. 測試-h和測試之間的區別-L
- 13. 「模糊測試」和「猴子測試」之間的區別
- 14. Karma,PhantomJS,Jasmine測試滾動位置
- 15. 用Jasmine和Karma-runner進行單元測試的示例Extjs5應用程序
- 16. TypeScript Angular Jasmine + Karma測試範圍
- 17. 有條件地忽略Karma/Jasmine的個別測試
- 18. 無法在ANgularJS中爲Controller編寫Jasmine測試用例
- 19. Karma-Jasmine單元測試語法
- 20. 在Jasmine Karma測試中讀取文件
- 21. Jasmine Karma測試是否有FactoryGirl版本?
- 22. 通過Jasmine/Karma測試Angular Http服務
- 23. karma-jasmine - 如何測試返回對象
- 24. 測試表達式之間的區別
- 25. Angular 2 Observable Service Karma Jasmine單元測試不起作用
- 26. 測試Babel在Karma + Jasmine中編譯(AMD)ES6代碼
- 27. angularjs,karma和requirejs測試用例錯誤
- 28. 使用Karma Jasmine - 如何測試元素和JavaScript?
- 29. 「軟件測試用例寫作中的」驗證「和」確保「之間的區別?
- 30. 在Jasmine中,beforeAll()和let之間有什麼區別嗎?
'toEqual'沒有做一個'=找到其他匹配器的詳細信息='檢查。 'toEqual'與下劃線isEqual'方法比較相似,它檢查a和b之間的非對稱匹配,它還允許給出一個自定義匹配函數的數組以及檢查值之間的不等式。 https://github.com/jasmine/jasmine/blob/master/src/core/matchers/matchersUtil.js查看'toEqual'使用的'eq'函數。這允許對象值匹配,數組值匹配等。 –
@DavidBarker你是對的,我簡化了這個概念太多了... – maioman