簡體   English   中英

Node JS單元測試sinon chai

[英]Node js Unit test sinon chai

如何為波紋管文件創建單元測試

索引

import ----
import ----

let workerService = new WorkerService();
let creatWorkerPromise = Promise.promisify(workerService.createWorkers);

creatWorkerPromise()
.then(function(){
    let kafkaService =  new KafkaService(kafkaConfig, workerService);
})
.catch(function (err: any) {
    console.log('Error while creating workers:', err);
});

測試不是單位的東西有點困難,因為單位通常會公開要測試的方法,所以我假設您最終會在測試代碼中這樣做。 因此,這里去:

 /////////// // index.js /////////// // stubs for this example to work var createWorkerPromise = function(){ return Promise.resolve(); } var workerService, kafkaConfig; function KafkaService(){ throw new Error("crashes test"); } function exportedFunction(){ return createWorkerPromise() .then(function(){ var kafkaService = new KafkaService(kafkaConfig, workerService); }) .catch(function (err) { console.log('Error while creating workers:', err); }); } /////////// // test.js /////////// var log = console.log.bind(console); var assert = function(expr) { if(!expr) throw new Error("AssertionError"); log("TEST OK"); } // the test var spy = sinon.spy(console, 'log'); exportedFunction().then(function test() { assert(spy.called); }).catch(log.bind(null, "TEST FAILED")) 
 <script src="https://unpkg.com/sinon@latest/pkg/sinon.js"></script> 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM