私は共有できない細かい部分を隠すように少し変更しましたが、私がテストしている機能(checkbro.jsと呼ぶことができます)はここにあります。 ..このsinon.spy mochaの例で確認とアラートを変更する簡単な方法はありますか
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