まず第一に、私はテスト駆動開発 (TDD) とビヘイビア駆動開発 (BDD) の両方に不慣れであり、Web ページを開発するための良い方法であると信じるのに苦労しています。これは、何かを行う前にテスト コードを開発する必要がある場合は困難です。
いずれかの方法!
私がこのスレッドを書いている理由は、私が見つけた問題のためではありません (しかし、意見があれば、私もそれを読んで楽しんでいます!)。私は構文、それがどのように機能するか、およびそのすべてについていくつか読んでいます。ただし、関数が値を返さない場合、このアプローチを実装するのは難しいことがわかりました。
たとえば、入力のテキスト値を変更するだけのクリック イベント トリガー関数があるとします。
$('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.