Question

J'écris des spécifications pour différents cas de test pour Jasmine et QUnit afin de les comparer et elles se ressemblaient avant que j'aie besoin d'écrire un test pour vérifier si un événement est lié à un élément.

La liaison d'événement ressemble à

$('.page').live('click', function() { page_clicked( $(this) ) });

page_clicked est une méthode privée mais elle appelle une méthode publique d'un autre module.

Voici une spécification Jasmine:

it('should bind events to pages', function() {
    spyOn( search, 'get_results' );

    $('.page:eq(0)').trigger('click');

    expect( search.get_results ).toHaveBeenCalled();
});

Ce test fonctionne.J'essaye maintenant d'écrire le même test pour QUnit et je ne trouve rien de similaire à spyOn.Comment écrire ce test pour QUnit?

Était-ce utile?

La solution

Sa cause QUnit n'a ni espions ni moquerie.Mais vous pouvez utiliser le framework moqueur Sinon.JS .Votre test doit ressembler à ceci en utilisant sinon spy :

var spy = sinon.spy(search, 'get_results');
sinon.assert.calledOnce(spy);
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top