Javascript jsMockito:如何运行发送到mock的回调?

Javascript jsMockito:如何运行发送到mock的回调?,javascript,callback,jsmockito,Javascript,Callback,Jsmockito,我正在学习如何使用jsMockito编写完美的代码。所以,您能告诉我如何运行提供给服务的回调吗 这是我的班级: function MyClass(service) { this.service = service; } MyClass.prototype.doSomething = function() { this.service.doIt(function() { console.log("How to run this function while run

我正在学习如何使用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();
}
因此,我需要查看日志消息:
“如何在运行测试时运行此函数?”


欢迎提出任何意见。

我终于找到了解决方案

我们需要创建
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();
}