2015-02-26 9 views
5

Jaki jest najbardziej elegancki sposób na napisanie testów jednostek Karma w mocha, które mają wtrysk zależności i done?Pisanie testów Karma + Mocha z zastrzykiem zależności i `done`?

Dependency Injection:

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

Sporządzono:

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

Co jeśli chcę zarówno cow i done dostępny w moim badanej jednostki? Właśnie to robię i jest niezadowalające.

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

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

Odpowiedz

6

Można zagnieżdżona funkcja wstrzyknąć w funkcji testowej

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

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

     $timeout.flush(10); 

    });  
    }); 

wstrzyknąć jest globalna funkcja zdefiniowana w module ngMock i może być używany w dowolnym miejscu w teście.

Powiązane problemy