在mocha中编写Karma单元测试的最优雅的方法是什么,它们都有依赖注入和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
})
答案 0 :(得分:6)
您可以将函数 inject 嵌套到测试函数
中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模块中定义的全局函数,可以在测试的任何地方使用。