如何在jasmine中调用describe构造函数中的变量作用域

时间:2013-11-07 22:50:09

标签: unit-testing jasmine testcase karma-runner

我正在使用jasmine runner来测试角度代码。

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

我需要在it语句之前实例化一次,如果多次运行结果非常糟糕。我怎样才能正确完成它?

1 个答案:

答案 0 :(得分:1)

我相信你在第一次之前称它为一次它每次对它下面的每个描述运行一次。

在下面的代码中,des2Var将为整个test1描述设置一次。

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