여기서 문제가 _execute
동기 인 것처럼 당신이 당신의 테스트를 작성한 것입니다 :
여기 테스트입니다 :
"it marks true in storage": function() {
sinonSandbox.stub(tested, "updateServiceApi", function() {
return MPromise.resolve();
});
var storageStub = sinonSandbox.stub(storage, "add");
tested._execute();
expect(
storageStub.calledWith("name", true)
).to.be.true
}
그리고 여기에 구현입니다.
약속 때문에 storage.add()
전화가 걸리기 전에 expect
호출이 실행됩니다.
정확하게이 문제를 처리하는 방법은 테스트 러너에 따라 다르지만 일반적인 수정은 expect
코드가 포함될 테스트에서 호출 된 함수에 .then()
을 추가하는 것입니다.
"it marks true in storage": function() {
sinonSandbox.stub(tested, "updateServiceApi", function() {
return MPromise.resolve();
});
var storageStub = sinonSandbox.stub(storage, "add");
return tested._execute()
.then(() => {
expect(storageStub.calledWith("name", true)).to.be.true;
});
}
어떤 테스트 러너를 사용하고 있습니까? –