gpt4 book ai didi

javascript - karma 测试中的未知 vendor

转载 作者:搜寻专家 更新时间:2023-11-01 04:16:28 24 4
gpt4 key购买 nike

我有以下 vendor :

(function (angular) {
angular.module('app')
.provider('$_Config', ConfigProvider);

function ConfigProvider() {
.... //routes definition
}
ConfigProvider.prototype.$get = function () {
return this;
};

ConfigProvider.prototype.getRoutes = function() {...}

//other prototype functions

})(angular);

在 app.js 中我是这样使用它的:

app.config(function ($routeProvider, $_ConfigProvider) {
var routes = $_ConfigProvider.getRoutes();
routes.forEach(function(route) {
$routeProvider
.when(route.route, {
.....
})

}

在进行测试之前,一切正常。这是我的测试:

describe('Provider: $_ConfigProvider', function () {

// load the providers module
beforeEach(module('app'));

// instantiate provider
var $_ConfigProvider;
beforeEach(inject(function (_$_Config_) {
$_ConfigProvider = _$_Config_;
}));


it('Should verify getRoutes function', function () {
var routes = $_ConfigProvider.getRoutes();
expect(Object.prototype.toString.call(routes) === '[object Array]').toBe(true);
});
});

运行测试时出现以下错误:

  Error: [$injector:modulerr] Failed to instantiate module app due to:
Error: [$injector:unpr] Unknown provider: $_ConfigProvider

注意 $_ConfigProvider 在运行时被正确注入(inject)。

最佳答案

您可能没有在 karma.conf.js 依赖项列表中包含定义提供程序的文件。看到这个问题:

Include dependencies in Karma test file for Angular app?

我会将 $_Config 重命名为其他名称,“$”通常保留给 Angular 特定的组件。

关于javascript - karma 测试中的未知 vendor ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28655451/

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