我是单位测试角度代码的新手,并且一直试图解决这个问题。我正在使用Karma,Mocha和Chai。 Mocha(异步代码)中的异步单元测试是supported,其机制如下:
describe('User', function(){
describe('#save()', function(){
it('should save without error', function(done){
var user = new User('Luna');
user.save(done);
})
})
})
假设savePromise是一个承诺实现,我假设可以重写
describe('User', function(){
describe('#save()', function(){
it('should save without error', function(done){
var user = new User('Luna');
user.savePromise().then(function(){
done()
})
})
})
})
这很酷,但是从angular-mock注入不会将done函数推入“it”回调。我查看了代码甚至尝试过(知道它会失败)。基本上我相信我想要这样的东西
describe('#save()', function(){
it('should save without error', inject(function (User, done) {
var user = new User('Luna');
user.savePromise().then(function(){
done()
})
})
})
如何使用角度模拟来处理Mocha?
答案 0 :(得分:0)
等等......是否像进行注射和测试前一样简单?
var myUser
beforeEach(inject(function (User) {
myUser = User
}))
describe('#save()', function(){
it('should save without error', function (done) {
var user = new myUser('Luna');
user.savePromise().then(function(){
done()
})
})
})
在我的情况下仍然不起作用。我正在尝试测试一个看起来没有打电话的HTTP客户端。但是,如果我进行上述更改,代码看起来应该可以正常工作。