鑑於我有兩個ES6類。如何模擬mocha.js單元測試的依賴類?
這是A類:
import B from 'B';
class A {
someFunction(){
var dependency = new B();
dependency.doSomething();
}
}
和B類:
class B{
doSomething(){
// does something
}
}
我用摩卡(與巴別塔的ES6)單元測試,灣仔及興農,其中真正偉大的作品。但是在測試A類時,我怎麼能爲B類提供一個模擬類?
我想模擬整個B類(或所需的函數,實際上並不重要),以便類A不執行實際代碼,但我可以提供測試功能。
這是,摩卡測試是什麼樣子現在:
var A = require('path/to/A.js');
describe("Class A",() => {
var InstanceOfA;
beforeEach(() => {
InstanceOfA = new A();
});
it('should call B',() => {
InstanceOfA.someFunction();
// How to test A.someFunction() without relying on B???
});
});
閱讀[DI](https://en.wikipedia.org/wiki/Dependency_injection) – Mritunjay