Учитывая, что у меня есть два класса ES6.Как издеваться над классами зависимостей для модульного тестирования с помощью mocha.js?
Это класс A:
import B from 'B';
class A {
someFunction(){
var dependency = new B();
dependency.doSomething();
}
}
А класс B:
class B{
doSomething(){
// does something
}
}
Я модульное тестирование с использованием мокко (с Вавилонской для ES6), Chai и Sinon, который работает действительно здорово. Но как я могу предоставить класс mock для класса B при тестировании класса A?
Я хочу высмеять весь класс 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