2012-05-13 3 views
2

モカ+ tamejs使用して私のテストコードを参照してください:Tamejsはmochaで動作しませんか?

tamejs -o test/t.js test/t.tjs 

実行モカ

mocha 

テストを/

require('should'); 

function inc(n, callback) { 
    setTimeout(function() { 
    console.log('### inc: ' + n); 
    callback(n+1); 
    }, 1000); 
}; 

describe('test', function(){ 
    it('show ok with tamejs', function(){ 
    console.log('### testing ...'); 
    var result; 
    await { inc(1, defer(result)); } 
    console.log('result: ' + result); 
    result.should.equal(123456); // won't pass 
    }); 
}); 

はt.jsにそれをコンパイルt.tjs

結果:

### testing ... 
. 

✔ 1 test complete (1ms)  

incメソッドが呼び出されたことはないようです。

答えて

1

問題はモカを正しく使用していないことです。

それのように書いているべきである:doneを注意してください

describe('test', function(){ 
    it('show ok with tamejs', function(done){ 
    console.log('### testing ...'); 
    var result; 
    await { inc(1, defer(result)); } 
    console.log('result: ' + result); 
    result.should.equal(123456); // won't pass 
    done(); 
    }); 
}); 

は、それは非同期呼び出しが終了したりしていないかどうかを判断するためにモカに使用しました。それがなければ、mochaは非同期呼び出しを待つことはありません。

関連する問題