使用这样的 javascript 构造:
var myClass = function(myArgumentObject) {
var vm = {
myFunction: myFunction,
myVariable: myVariable
}
return vm;
myFunction() {
myVariable = 1 + 1;
myArgumentObject.aMethod();
}
} (myArgumentObject);
如何(如果有的话)使用 Jasmine 框架来监视(即模拟出)myArgumentObject,以便可以对 myFunction 进行单元测试?
这样做:
it('test myFunction', function () {
myClass.myFunction();
expect(myClass.myVariable).toEqual(2);
});
失败,因为它尝试调用 myArgumentObject 上的方法时出错。我知道我可以用 jasmine.createSpy 创建一个假的 myArgumentObject 版本,但我看不出你是如何传递它的。