javascript - Jasmine spy expects to be called with "Object(...)" -
i completing migration jasmine 1.3 2.0. far have refactored of code comply 2.0's newer syntax. however, kind of tests still failing.
in short, test looks this:
var obj = new customcriteria(); spyon(my, "function"); my.function(obj); expect(my.function).tohavebeencalledwith({ big: "fat object" });
my customcriteria
class:
var customcriteria = function() { this.big = "fat object"; };
the test fails following:
expected spy function have been called [ object({ big: "fat object" }) ] actual calls [ ({ big: "fat object" }) ].
note how expectation has "object
" wrapping around it, second not. test did not fail in < 2.0 of jasmine, failing after update jasmine. how can fix this?
update: tinkered around creating new object via new
ing function
vs. object literal syntax, , appears __proto__
s different. perhaps affects jasmine's equality comparison?
prior version 2, objects equal if have same properties , values (see v1.3.1 code)
from version 2 onward, object constructors compared (see v2.0 code).
in case: customcriteria
, {}
not have same constructor.
p.s.: exception message changed contain constructor name in it.
Comments
Post a Comment