我刚开始对angular代码进行单元测试,并且一直在尝试解决这个问题。我用的是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是一个promise实现,我假设它可以被重写
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注入并不会将完成的函数推入"it“回调。我检查了代码,甚至尝试了一下(知道它会失败)。基本上,我相信我想要这样的东西
describe('#save()', function(){
it('should save without error', inject(function (User, done) {
var user = new User('Luna');
user.savePromise().then(function(){
done()
})
})
}) 如何让angular-mock与Mocha一起工作?
发布于 2014-09-27 01:02:26
等等..。是不是就像在测试之前进行注射一样简单?
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客户端。然而,如果我做了上面的更改,代码看起来应该可以工作。
https://stackoverflow.com/questions/26064560
复制相似问题