Написание тестов Karma + Mocha с внедрением зависимостей и выполнением?

Какой самый элегантный способ написать модульные тесты Karma в mocha, которые имеют инъекцию зависимостей и done?

Внедрение зависимости:

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

Выполнено:

describe('cows', function(){
  it('farts a lot', function(done){
    // do stuff
  })
})

Что, если я хочу, чтобы в моем модульном тесте были доступны и cow, и done? Прямо сейчас я этим и занимаюсь, и это неудовлетворительно.

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

it('farts a lot', function(done){
  this.cow // etc
})

person bioball    schedule 26.02.2015    source источник


Ответы (1)


Вы можете вложить функцию вставить в тестовую функцию

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

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

      $timeout.flush(10);

    });    
  });

inject - это глобальная функция, определенная в модуле ngMock, и может быть используется в любом месте теста.

person milanlempera    schedule 27.02.2015