Учитывая, что у меня есть два класса ES6.
Это класс A:
import B from 'B';
class A {
someFunction(){
var dependency = new B();
dependency.doSomething();
}
}
И класс B:
class B{
doSomething(){
// does something
}
}
Я тестирую устройство с использованием мокко (с babel для 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???
});
});