鉴于我有两个ES6类。如何模拟mocha.js单元测试的依赖类?
这是A类:
import B from 'B';
class A {
someFunction(){
var dependency = new B();
dependency.doSomething();
}
}
和B类:
class B{
doSomething(){
// does something
}
}
我用摩卡(与巴别塔的ES6)单元测试,湾仔及兴农,其中真正伟大的作品。但是在测试A类时,我怎么能为B类提供一个模拟类?
我想模拟整个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