私には2つのES6クラスがあります。mocha.jsを使用した単体テストの依存関係クラスの模擬方法
これはクラスAである:
import B from 'B';
class A {
someFunction(){
var dependency = new B();
dependency.doSomething();
}
}
とクラスB:
class B{
doSomething(){
// does something
}
}
私は本当に素晴らしい作品(ES6用バベルと)モカを使用してユニットテスト、チャイとsinon、と思います。しかし、クラスAをテストするときに、クラスBのモッククラスを提供するにはどうすればよいですか?
クラスA全体が実際のコードを実行しないように、クラスB(または必要な関数は実際には関係ありません)を模擬したいのですが、テスト機能を提供できます。
これはモカテストは今のように見えるものです:
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