【发布时间】:2017-06-03 07:15:22
【问题描述】:
我正在尝试对我的控制器进行单元测试。我试图单元测试的功能是:
function myFunction() {
MyService
.myMethod(thing1, thing2)
.then(function handleMyMethod(result) {
SomeModule.errorHandler(result)
.onSuccess(function onSuccess() {
// do stuff
})
.onError(function onError() {
// do stuff
});
});
}
相关测试文件sn-p:
var MockService = {
myMethod: function(thing1, thing2) {
var promise = $q.defer().promise;
return promise;
}
};
beforeEach(module(function($provide) {
$provide.value('MyService', MockService);
}));
beforeEach(inject(function (_$controller_, _MyService_, _SomeModule_, ...) {
...
MyService = _MyService_;
MyController = _$controller_('MyController as Ctrl', {
$controller: controller,
MyService: MockService,
});
我对如何编写允许我同时满足 onSuccess 和 onError 情况的测试感到困惑。我试图覆盖两个分支以进行分支覆盖,但不知道语法是如何工作的。
【问题讨论】:
标签: angularjs unit-testing karma-runner karma-jasmine