5

まず第一に、私はテスト駆動開発 (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.

4

1 に答える 1