Biorąc pod uwagę, że mam dwie klasy ES6.Jak kpić z klas zależności dla testów jednostkowych za pomocą mocha.js?
Jest to klasa A:
import B from 'B';
class A {
someFunction(){
var dependency = new B();
dependency.doSomething();
}
}
A klasa B:
class B{
doSomething(){
// does something
}
}
Jestem jednostki badań przy użyciu mocha (z babel dla ES6), chai i sinon, który działa naprawdę świetnie. Ale w jaki sposób mogę zapewnić próbną klasę klasy B podczas testowania klasy A?
Chcę wyśmiać całą klasę B (lub potrzebną funkcję, tak naprawdę nie ma znaczenia), aby klasa A nie wykonywała prawdziwego kodu, ale mogę zapewnić funkcjonalność testowania.
To, co test mokka wygląda teraz:
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???
});
});
przeczytać o [DI] (https://en.wikipedia.org/wiki/Dependency_injection) – Mritunjay