4

アプリケーションのテストに使用jasmineしていますが、現在コードにボタンはありませ
んが、クリック イベントが発生するかどうかを確認できるテストを作成したいと考えています。
ボタンなしでクリックイベントを発生させたいと単純に考えることができます。

これが私がしたことです

 scenario('checking that click event is triggered or not', function () {

    given('Sigin form is filled', function () {

    });
    when('signin button is clicked ', function () {
        spyOn($, "click");
        $.click();

    });
    then('Should click event is fired or not" ', function () {
        expect($.click).toHaveBeenCalled();
    });
});

前もって感謝します 。

4

1 に答える 1

5

私が一般的に行う傾向があるのはcreate a stub、イベントをスタブに割り当てることです。次にクリックイベントをトリガーし、それが呼び出されたかどうかを確認します

describe('view interactions', function () {
    beforeEach(function () {
        this.clickEventStub = sinon.stub(this, 'clickEvent');
    });

    afterEach(function () {
        this.clickEvent.restore();
    });

    describe('when item is clicked', function () {
        it('event is fired', function () {
            this.elem.trigger('click');
            expect(this.clickEventStub).toHaveBeenCalled();
        });
    });
});
于 2013-06-03T06:07:28.730 に答える