Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 书写业力+;使用依赖注入和“完成”的Mocha测试?_Javascript_Angularjs_Karma Runner - Fatal编程技术网

Javascript 书写业力+;使用依赖注入和“完成”的Mocha测试?

Javascript 书写业力+;使用依赖注入和“完成”的Mocha测试?,javascript,angularjs,karma-runner,Javascript,Angularjs,Karma Runner,在mocha中编写Karma单元测试最优雅的方法是什么?它既有依赖项注入,又有完成的 依赖项注入: describe('cows', function(){ it('farts a lot', inject(function(cow){ // do stuff })) }) 完成: 如果我想在单元测试中同时使用cow和done,该怎么办?现在,这就是我正在做的,这是不令人满意的 beforeEach(inject(function(cow){ this.cow = cow;

在mocha中编写Karma单元测试最优雅的方法是什么?它既有依赖项注入,又有
完成的

依赖项注入:

describe('cows', function(){
  it('farts a lot', inject(function(cow){
    // do stuff
  }))
})
完成:

如果我想在单元测试中同时使用
cow
done
,该怎么办?现在,这就是我正在做的,这是不令人满意的

beforeEach(inject(function(cow){
  this.cow = cow;
}))

it('farts a lot', function(done){
  this.cow // etc
})
您可以将嵌套函数注入到测试函数中

it("should nested inject function into test function", function(done) {
    inject(function($timeout) {

      $timeout(function() {
        expect(true).toBeTruthy();
        done();
      }, 10);

      $timeout.flush(10);

    });    
  });
inject是模块中定义的全局函数,可以在测试中的任何位置使用

it("should nested inject function into test function", function(done) {
    inject(function($timeout) {

      $timeout(function() {
        expect(true).toBeTruthy();
        done();
      }, 10);

      $timeout.flush(10);

    });    
  });