web-dev-qa-db-fra.com

Comment puis-je avoir une fonction beforeAll dans Jasmine? (Pas coffeeScript)

J'ai besoin de savoir s'il existe un moyen d'inclure ou d'utiliser une fonction beforeAll, ou quelque chose de similaire, afin de pouvoir me connecter à mon application, puis commencer les tests.

En ce moment, je mets mes opérations de connexion dans le premier cas de test (it). Ce qui n'est pas une bonne pratique.

S'il existe une meilleure façon de stocker mon code de connexion autre que d'utiliser une fonction beforeAll, veuillez m'en parler.

J'utilise du Jasmine pur qui n'est lié à aucun autre framework comme Coffee-Script ou autres.

Je vous remercie

25
pharaon450

C'est maintenant beaucoup plus facile. Depuis Jasmine 2.1 (publié le 14 novembre 2014), une fonction beforeAll est intégrée au framework.

Voici les notes de version avec tout ce qui a été ajouté en 2.1. Et voici la documentation expliquant beforeAll et afterAll

33
andypaxo

Vous pouvez imbriquer autant de fonctions describe que vous le souhaitez. Vous pouvez donc faire quelque chose comme ...

describe("General Test", function () {

    function login(){
        //This code will run once at he beginning of your script
    };

    login();

    beforeEach(function () {
        //anything in here will apply to everything in each nested describe
    });

    describe("Specific Test", function () {
        //Applied here
    });

    describe("Another Specific Test", function () {
        //And here
    });


});
3
j_buckley

Vous pouvez ajouter ce package qui ajoute a beforeAll () et afterAll () à Jasmine.

https://github.com/nonplus/jasmine-beforeAll

1
Alexander Zanfir