まず、テスト駆動型開発(TDD)と動作駆動型開発(BDD)の両方に新しく、このページは開発が必要なことが多いため、Webページを開発する良い方法だと信じていますあなたが何かできるようになる前にテストコードを開発しなければならないのなら、それは難しいです。関数が値を返さない場合、Jasmineはどのように機能しますか?
私がこのスレッドを書いているのは、なぜ私が見つけたのかという問題ではありません。しかし、もしあなたが入力しているのであれば、それも読んで楽しむでしょう!私は構文について、それがどのように動作するのか、そのすべてについて何かを読んできました。私は、私の関数が値を返さなければ、実装するのは難しいということを発見しました。
のiは、クリックイベントを持っていることを例えば言おうが、単に入力のテキスト値を変更する機能をトリガ:
$('input[type="text"]').click(function() {
$(this).val('Oh, that tickles!');
});
どうジャスミンがこれを処理しますか?次のコードのように:
describe('Input type text is clicked', function() {
it('changes text in the input field', function() {
expect($('input[type="text"]').val()).toEqual("Oh, that tickles!");
});
});
これは間違っていますが、jQueryオブジェクトにはその値を含まない複数の入力フィールドが含まれる可能性があるためです。要素(例えば$(this)
など)を見つける方法はありますか、またはジャスミンテストの中にクリックハンドラを置く必要がありますか?このように:
describe('Input type text is clicked', function() {
it('changes text in the input field', function() {
$('input[type="text"]').click(function() {
expect($(this).val()).toEqual("Oh, that tickles!");
}
});
});
いくつかの明快さは、多くの事前での素敵な:)
おかげだろう!
/J。
私はこれも苦労しています。しかし、私は 'ロジック'を行い、戻り値を返す関数にすべてを入れ、残りの部分をjqueryイベントで処理します。私は関数をテストするだけです。 –
Ofc、これも解決策です。イベントの中でコードをテストしたい(通常は値を返さない)時がありますが、すべてがあります。 Xn.sの答えはとても役に立ちました。 :) –