공유 할 수없는 세부 사항을 숨기기 위해 약간 변경되었지만 예제 기능 (checkbro.js라고 함)은 여기에 있습니다. ..이 sinon.spy 모카 예제에서 확인 및 경고를 변경하는 쉬운 방법이 있습니까
checkbro.js
내 테스트 예제 (이 ReferenceError가가 실패 확인이 정의되지 않은)의function saveRecord(context) {
if (!checkIfBro.knowsABro(context.currentRecord)) {
if (confirm('Do you Bro?')) {
context.currentRecord.setValue('bro', -10, true);
} else {
alert('Please someone has to be a bro');
}
}
return true;
}
하나 ...
checkbro.spec.js
it('should only execute for create new bro master', function() {
let checkIfBro = { knowsABro: sinon.spy() };
let confirm = {confirm: sinon.spy()};
let record = {currentRecord: { setValue: sinon.spy()}};
let checkIfBroRec = requirejs('contacts/checkbro', [checkIfBro, log]);
checkIfBroRec.saveRecord({ record: record });
checkIfBroRec.knowsABro.called.should.be.true;
record.currentRecord.setValue.called.should.be.true;
});
약간의 문맥으로 브라우저 테스트를 많이했고 단위 테스트를 시작 했으므로 몇 가지 학습 곡선이 있습니다. sinon 또는 다른 모듈을 더 잘 사용하면 나는 모든 귀입니다. 또한 이것은 개발자에 의해 쓰여졌 고 이제는 인계받습니다. 그런데 if (confirm('Do you Bro?'))
위 코드에서
이 줄'requirejs ('contacts/checkbro', [checkIfBro, log]);을 사용하여 종속성을 전달하는 경우 확인 스파이를 함수에 전달하는 경로는? 그럼 확인 스파이를 포함해야합니다. 함수는 참조를 가질 것이다. – Hosar