Como zombar de classes de dependência para testes de unidade com o mocha.js?
Dado que eu tenho duas classes ES6.
Esta é a classe A:
import B from 'B';
class A {
someFunction(){
var dependency = new B();
dependency.doSomething();
}
}
E classe B:
class B{
doSomething(){
// does something
}
}
Estou testando a unidade usando mocha (com babel para ES6), chai e sinon, o que funciona muito bem. Mas como posso fornecer uma classe simulada para a classe B ao testar a classe A?
Quero zombar de toda a classe B (ou a função necessária, na verdade não importa) para que a classe A não execute código real, mas eu posso fornecer a funcionalidade de teste.
Isto é, como é o teste do mocha por enquanto:
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???
});
});