gpt4 book ai didi

angularjs - Angular 常数的 karma 问题

转载 作者:行者123 更新时间:2023-11-28 20:11:18 26 4
gpt4 key购买 nike

我在合并 2 个分支之前进行了工作测试。新分支带来了一个 Angular 常数,我相信它打破了所有测试。我有一个像这样的 Angular 常数

...
return $http.get(ENV+'/api/url').then(function (response) {
appName.constant("userinfo", response.data);
userID = response.data.user.id;
}, function(errorResponse) {...

我的测试 Controller 是这样设置的

beforeEach(function() {
module('appName');
return inject(function($injector) {
//nothing here yet
});
});

通过为我的测试将使用的常量创建这个 stub ,我能够减少错误数量

angular.module('appName').constant('userinfo', {
user: {
id: 0
}
});

window.ENVApp = '/ng-app'

我遇到了这个错误

Error: [$injector:unpr] http://errors.angularjs.org/1.4.10/$injector/unpr?p0=httpInterceptorProvider%20%3C-%20httpInterceptor%20%3C-%20%24http%20%3C-%20%24templateRequest%20%3C-%20%24compile%20%3C-%20ModalService%20%3C-%20taOptions

文件被加载到 karma.conf 中。任何想法如何解决这个错误?由于这个问题,我的测试无法运行。

最佳答案

为什么要从 beforeEach 返回?

beforeEach 不应返回任何内容。它应该只是做一些设置,设置一些变量等。

此外,我认为将 $injector 传递给 inject 回调存在问题。我认为您需要像 _$injector_ 一样用 _ 包装它。但是,不清楚为什么要在测试中使用 $injector 服务。

关于angularjs - Angular 常数的 karma 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37465923/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com