使用依赖注入和 `done` 编写 Karma + Mocha 测试?
Writing Karma + Mocha tests with both dependency injection and `done`?
在具有依赖注入和 done
的 mocha 中编写 Karma 单元测试的最优雅的方法是什么?
依赖注入:
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
})
您可以将嵌套函数注入到测试函数
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 模块中定义的全局函数,可以在测试中的任何地方使用。
在具有依赖注入和 done
的 mocha 中编写 Karma 单元测试的最优雅的方法是什么?
依赖注入:
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
})
您可以将嵌套函数注入到测试函数
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 模块中定义的全局函数,可以在测试中的任何地方使用。