Question

J'utilise Jasmine Runner pour tester le code angulaire.

describe('des1', function() {
  var des1Var = function(){};
  beforeEach() {
    //....
  }

  describe('test1', function() {
    var scope4Compile = $rootScope.$new();
    var des2Var = des1Var(scope4Compile); // returns undefined.

    beforeEach(function() {
      des2Var = des1Var(scope4Compile); // returns des1Var() fine;
    })

    it('should do ', function(){
      //should do...
    })

    it('should also do', function(){
      //should also do...
    })
  })
})

J'ai besoin d'instancier quelque chose une fois avant les instructions informatiques, si l'exécution de plusieurs fois est assez mauvais. Comment puis-je le faire correctement?

Était-ce utile?

La solution

Je crois que vous l'appelez une fois dans le premier avant que l'on soit exécuté une fois pour chaque décrire qui est en dessous.

Dans le code ci-dessous, DES2VAR sera défini une fois pour l'ensemble du test1 décrire.

describe('des1', function() {
  var des1Var = function () { };
  beforeEach(function () {
    var des2Var = des1Var();
  });

  describe('test1', function() {
    it('should do ', function(){
        //should do...
    });

    it('should also do', function(){
        //should also do...
    });
  });
});
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top