[英]AngularJS Directive not found when attempting to run test?
I'm following the phone-cat angular js example and trying to adapt it for testing in my situation. 我正在跟踪phone-cat angular js示例,并尝试使其适应我的情况进行测试。
My karma.conf.js file: 我的karma.conf.js文件:
//jshint strict: false
module.exports = function(config) {
config.set({
basePath: './app',
files: [
'https://ajax.googleapis.com/ajax/libs/angularjs/1.6.9/angular.min.js',
'https://cdnjs.cloudflare.com/ajax/libs/angular-mocks/1.6.9/angular-mocks.min.js',
'https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js',
'https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js',
'libs/jquery.fileupload.js',
'https://ajax.googleapis.com/ajax/libs/angularjs/1.6.9/angular-animate.min.js',
'https://ajax.googleapis.com/ajax/libs/angularjs/1.6.9/angular-aria.min.js',
'https://ajax.googleapis.com/ajax/libs/angularjs/1.6.9/angular-messages.min.js',
'https://ajax.googleapis.com/ajax/libs/angular_material/1.1.8/angular-material.min.js',
'*!(.module|.spec).js',
'**/*.spec.js',
'**/components/**'
],
autoWatch: true,
frameworks: ['jasmine'],
browsers: ['Chrome'],
plugins: [
'karma-chrome-launcher',
'karma-firefox-launcher',
'karma-jasmine'
]
});
};
This is my folder/file structure: 这是我的文件夹/文件结构:
and this is my test (in file-upload.component.spec.js): 这是我的测试(在file-upload.component.spec.js中):
'use strict';
describe('fileupload', function() {
beforeEach(module('fileUploadApp'));
// Test the controller
describe('FileUploadController', function() {
it('test test', inject(function($componentController) {
var scope = {};
console.log("A");
var ctrl = $componentController('FileUploadController', {
$scope: scope
}); // failing on this line
console.log("B");
}));
});
});
When I try to run it I get the following error: 当我尝试运行它时,出现以下错误:
Chrome 66.0.3359 (Windows 10.0.0) fileupload FileUploadController test test FAILED Error: [$injector:unpr] http://errors.angularjs.org/1.6.9/ $injector/unpr?p0=FileUploadControllerDirectiveProvider%20%3C-%20FileUploadControllerDirective at https://ajax.googleapis.com/ajax/libs/angularjs/1.6.9/angular.min.js:7:76 at https://ajax.googleapis.com/ajax/libs/angularjs/1.6.9/angular.min.js:46:64 at Object.d [as get] ( https://ajax.googleapis.com/ajax/libs/angularjs/1.6.9/angular.min.js:43:309 ) at https://ajax.googleapis.com/ajax/libs/angularjs/1.6.9/angular.min.js:46:126 at Object.d [as get] ( https://ajax.googleapis.com/ajax/libs/angularjs/1.6.9/angular.min.js:43:309 ) at https://cdnjs.cloudflare.com/ajax/libs/angular-mocks/1.6.9/angular-mocks.min.js:1:15984 at UserContext. Chrome 66.0.3359(Windows 10.0.0)fileupload FileUploadController测试测试失败:[$ injector:unpr] http://errors.angularjs.org/1.6.9/ $ injector / unpr?p0 = FileUploadControllerDirectiveProvider%20%3C- https://ajax.googleapis.com/ajax/libs/angularjs/1.6.9/angular.min.js:7:76上的%20FileUploadControllerDirective,位于https://ajax.googleapis.com/ajax/libs/angularjs/1.6 .9 / angular.min.js:46:64 at Object.d [as get]( https://ajax.googleapis.com/ajax/libs/angularjs/1.6.9/angular.min.js:43:309 ), 网址为Object.d, 网址为https://ajax.googleapis.com/ajax/libs/angularjs/1.6.9/angular.min.js:46:126 [as get]( https://ajax.googleapis.com/ ajax / libs / angularjs / 1.6.9 / angular.min.js:43:309 ), 网址为https://cdnjs.cloudflare.com/ajax/libs/angular-mocks/1.6.9/angular-mocks.min.js在UserContext上为:1:15984 。 (W:/AngTest/Test/app/file-upload.component.spec.js:13:18) at Object.invoke ( https://ajax.googleapis.com/ajax/libs/angularjs/1.6.9/angular.min.js:44:390 ) at UserContext.o ( https://cdnjs.cloudflare.com/ajax/libs/angular-mocks/1.6.9/angular-mocks.min.js:1:20792 ) Error: Declaration Location at e.inject.t.mock.inject ( https://cdnjs.cloudflare.com/ajax/libs/angular-mocks/1.6.9/angular-mocks.min.js:1:20326 ) at Suite. (W:/AngTest/Test/app/file-upload.component.spec.js:13:18)在Object.invoke( https://ajax.googleapis.com/ajax/libs/angularjs/1.6.9/angular .min.js:44:390 )位于UserContext.o( https://cdnjs.cloudflare.com/ajax/libs/angular-mocks/1.6.9/angular-mocks.min.js:1:20792 )错误:声明位置位于套件的e.inject.t.mock.inject( https://cdnjs.cloudflare.com/ajax/libs/angular-mocks/1.6.9/angular-mocks.min.js:1:20326 )。 (W:/AngTest/Test/app/file-upload.component.spec.js:10:21) at Suite. (W:/AngTest/Test/app/file-upload.component.spec.js:10:21)在Suite。 (W:/AngTest/Test/app/file-upload.component.spec.js:8:3) at W:/AngTest/Test/app/file-upload.component.spec.js:3:1 Chrome 66.0.3359 (Windows 10.0.0): Executed 1 of 1 (1 FAILED) ERROR (0.085 secs / 0 secs) (W:/AngTest/Test/app/file-upload.component.spec.js:8:3)在W:/AngTest/Test/app/file-upload.component.spec.js:3:1 Chrome 66.0。 3359(Windows 10.0.0):执行1 of 1(1 FAILED)错误(0.085秒/ 0秒)
应该是$componentController('fileUpload', ...
至少因为我猜fileUpload
是您的组件名称
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.