Pergunta

Estou usando o Jasmine Runner para testar o código angular.

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...
    })
  })
})

Preciso instanciar algo uma vez antes das declarações de TI, se executado várias vezes, o resultado é muito ruim. Como posso fazer isso corretamente?

Foi útil?

Solução

Eu acredito que você chama isso uma vez no primeiro antes, ele será executado uma vez para cada uma descrição que está abaixo dele.

No código abaixo, o DES2VAR será definido uma vez para todo o teste1 descrever.

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...
    });
  });
});
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top