我正在学习如何使用jsMockito编写完美的代码。那么,您能告诉我如何运行为服务提供的回调吗?
这是我的班级:
function MyClass(service) {
this.service = service;
}
MyClass.prototype.doSomething = function() {
this.service.doIt(function() {
console.log("How to run this function while running tests?");
})
}这是我的测试:
var MyClassTest = TestCase("MyClassTest");
MyClassTest.prototype.testMyClass = function() {
this.service = mock(Service);
this.myClass = new MyClass(this.service);
this.myClass.doSomething();
}因此,我需要看到日志消息:"How to run this function while running tests?"
任何想法都欢迎。
发布于 2014-03-05 09:43:58
我终于找到了解决办法。
我们需要创建doItCallback
function MyClass(service) {
this.service = service;
}
MyClass.prototype.doItCallback = function() {
console.log("How to run this function while running tests?");
}
MyClass.prototype.doSomething = function() {
this.service.doIt(this.doItCallback);
}此外,我们还需要更新模拟:
var MyClassTest = TestCase("MyClassTest");
MyClassTest.prototype.testMyClass = function() {
this.service = mock(Service);
this.myClass = new MyClass(this.service);
var myClass = this.myClass;
when(this.service).doIt().then(function() {
myClass.doItCallback();
});
this.myClass.doSomething();
}https://stackoverflow.com/questions/22147844
复制相似问题