假设我有两个 ES6 类。
这是 A 类:
import B from 'B';
class A {
someFunction(){
var dependency = new B();
dependency.doSomething();
}
}
并且类B:
class B{
doSomething(){
// does something
}
}
我正在使用 mocha(带有 ES6 的 babel)、chai 和 sinon 进行单元测试,效果非常好。但是在测试类 A 时,如何为类 B 提供模拟类?
我想要模拟整个类 B(或所需的函数,实际上并不重要),以便类 A 不执行真正的代码,但我可以提供测试功能。
目前,mocha 测试的样子是这样的:
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???
});
});