我目前正試圖在JavaScript中運行測試套件時測試一些代碼,但在使用摩卡時實際上吐出數據時遇到了問題。摩卡的副作用
這似乎是當我嘗試打印出某些東西(甚至寫入文件)時,我沒有成功。
請參見下面的示例:
main.js
var Foo = require('./lib')
Foo()
module.exports = function(a) { return a + 1}
lib.js
var fs = require('fs')
module.exports = function() {
setTimeout(function() {
fs.writeFile('test_file', 'hello world', function(){})
console.log('hello finished')
}, 1000)
console.log('hello begin')
}
test.js
var x = require('./main')
describe("some test", function() {
it("should do something", function(done) {
done()
})
})
結果應該創建一個文件命名爲test_file
機智h hello world
的內容。
我創建了一個存儲庫,其中包含可輕鬆克隆和測試的完整示例。
https://github.com/hamhut1066/mocha-mockup
乾杯,這就是我一直在尋找的。你不知道如何讓摩卡停止殺死線程嗎? – hamhut1066
不,聽起來像'如何打破摩卡'。至於我,它看起來像你有不好的設計測試 - 我的意思是如果你想在等待一段時間後檢查一些東西,那麼你應該做的()你測試,直到那。 –
本質上,我試圖用儀器來運行摩卡運行測試的第三方庫(測試是理智的)。我想在運行時收集數據,然後在所有測試運行後將其輸出到stout。我絕不關心測試的質量。 – hamhut1066