Dan*_*Dan 79 javascript bdd object-comparison jasmine
Jasmine有内置的匹配器toBe
和toEqual
.如果我有这样的对象:
function Money(amount, currency){
this.amount = amount;
this.currency = currency;
this.sum = function (money){
return new Money(200, "USD");
}
}
Run Code Online (Sandbox Code Playgroud)
并尝试比较new Money(200, "USD")
和和的结果,这些内置的匹配器将无法按预期工作.我已经设法基于自定义equals
方法和自定义匹配器实现了一种解决方法,但它似乎很有效.
比较Jasmine中对象的标准方法是什么?
obf*_*bfk 57
如果您要比较部分对象,可以考虑:
describe("jasmine.objectContaining", function() {
var foo;
beforeEach(function() {
foo = {
a: 1,
b: 2,
bar: "baz"
};
});
it("matches objects with the expect key/value pairs", function() {
expect(foo).toEqual(jasmine.objectContaining({
bar: "baz"
}));
});
});
Run Code Online (Sandbox Code Playgroud)
比照 jasmine.github.io/partial-matching
归档时间: |
|
查看次数: |
66025 次 |
最近记录: |