Javascript 在mocha中测试无回调的异步方法

Javascript 在mocha中测试无回调的异步方法,javascript,testing,asynchronous,mocha.js,sinon,Javascript,Testing,Asynchronous,Mocha.js,Sinon,我有一个异步方法,运行DB查询,然后写入日志。它不返回任何内容,也不需要回调 我可以添加一个纯粹用于测试的回调,但我的首选是监视log方法并在此基础上通过或失败测试,而不是添加纯粹用于测试的功能 TestableMode.method = function() { TestableMode.asyncThing(function(err) { if (err) { TestableMode.log.error('Log Error', { 'e

我有一个异步方法,运行DB查询,然后写入日志。它不返回任何内容,也不需要回调

我可以添加一个纯粹用于测试的回调,但我的首选是监视log方法并在此基础上通过或失败测试,而不是添加纯粹用于测试的功能

TestableMode.method = function() {


TestableMode.asyncThing(function(err) {
    if (err) {
        TestableMode.log.error('Log Error', {
            'error': err
        });
    } else {
        TestableMode.log.info('Write results');

    }
});
})


目前,我正在使用mocha运行测试。在其他测试中,我使用sinon监视方法,我可以使用这些间谍作为断言的触发器吗?我是否可以在调用
TestableMode.log.info
后立即通过测试,并在调用
TestableMode.log.error
后立即失败?

您可以使用sinon监视“TestableMode.log.info”与其纯粹为了测试目的而引入回调,还不如尝试在DB query的回调中发出成功和错误事件,以便在发出事件时调用mocha的done call back