Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 使用karma/jasmine测试角度服务时未定义服务_Angularjs_Unit Testing_Jasmine_Karma Jasmine - Fatal编程技术网

Angularjs 使用karma/jasmine测试角度服务时未定义服务

Angularjs 使用karma/jasmine测试角度服务时未定义服务,angularjs,unit-testing,jasmine,karma-jasmine,Angularjs,Unit Testing,Jasmine,Karma Jasmine,我正在尝试使用karma运行以下测试用例 'use strict'; describe('companyService', function () { var $httpBackend, companyService; beforeEach(module('MyCompany')); beforeEach(inject(function (_$httpBackend_, _companyService_) { $httpBackend = _$ht

我正在尝试使用karma运行以下测试用例

'use strict';

describe('companyService', function () {

    var $httpBackend, companyService;

    beforeEach(module('MyCompany'));

    beforeEach(inject(function (_$httpBackend_, _companyService_) {
        $httpBackend = _$httpBackend_;
        companyService = _companyService_;
    }));

    it('should return a promise for getCompany function', function () {
        expect(typeof companyService.getCompany('foobar').then).toBe('function');
    });
});
下面是Companyservice.js

angular.module('myCompany').factory('companyService',
    function($http, MyCompanyApiProvider, $upload) {
        'use strict';

        var _company = null;

        function getCompany(companyId) {
            var x = $http.get(MyCompanyApiProvider.url('companies/' + companyId));
            return x;
        }

        return {
            getCompany: getCompany
        };
    }
);
在调用getcompany方法之前,我收到一个错误,说companyService未定义。我错过了什么

堆栈跟踪

Firefox 38.0.0 (Windows 8.1) companyService should return a promise for getCompany function FAILED
    minErr/<@C:/WebApiRole/bower_components/angular/angular.js:63:12
    loadModules/<@C:/WebApiRole/bower_components/angular/angular.js:4138:15
    forEach@C:/WebApiRole/bower_components/angular/angular.js:323:11
    loadModules@C:/bower_components/angular/angular.js:4099:5
    createInjector@C:/bower_components/angular/angular.js:4025:11
    workFn@C:/WebApiRole/node_modules/angular-mocks/angular-mocks.js:2409:44
    TypeError: companyService is undefined in
    C:/WebApiRole/test/company/CompanyServiceSpec.js (line 15)
    @C:/WebApiRole/test/company/CompanyServiceSpec.js:15:16
    Firefox 38.0.0 (Windows 8.1): Executed 1 of 1 (1 FAILED) ERROR (0.035 secs / 0.015 secs)

该服务被添加到模块名
myCompany

angular.module('myCompany').factory('companyService',
beforeEach(module('MyCompany'));
但是测试没有加载该模块。它加载名为MyCompany的模块:

angular.module('myCompany').factory('companyService',
beforeEach(module('MyCompany'));

该服务被添加到模块名
myCompany

angular.module('myCompany').factory('companyService',
beforeEach(module('MyCompany'));
但是测试没有加载该模块。它加载名为MyCompany的模块:

angular.module('myCompany').factory('companyService',
beforeEach(module('MyCompany'));

该服务被添加到模块名
myCompany

angular.module('myCompany').factory('companyService',
beforeEach(module('MyCompany'));
但是测试没有加载该模块。它加载名为MyCompany的模块:

angular.module('myCompany').factory('companyService',
beforeEach(module('MyCompany'));

该服务被添加到模块名
myCompany

angular.module('myCompany').factory('companyService',
beforeEach(module('MyCompany'));
但是测试没有加载该模块。它加载名为MyCompany的模块:

angular.module('myCompany').factory('companyService',
beforeEach(module('MyCompany'));


发布错误的完整堆栈跟踪/准确和完整的错误消息。@JBNizet我已在上面添加堆栈跟踪发布错误的完整堆栈跟踪/准确和完整的错误消息。@JBNizet我已在上面添加堆栈跟踪发布错误的完整堆栈跟踪/准确和完整的错误消息。@JBNizet我已添加stacktrace Upper发布错误的完整堆栈跟踪/准确完整的错误消息。@JBNizet我已经在上面添加了stacktrace,恐怕这不是问题所在。我在复制代码时犯了一个小错误。这实际上是我在这两个地方的名字(myCompany)。但是问题来自不同的角度,那么定义服务的JS文件可能不是由karma加载的。编辑您的问题并显示项目的目录结构和karma配置。不要再犯同样的错误。发布真实内容。添加了karma.conf.js文件和您要求karma加载的文件夹结构
app/company/CompanyService.js
。您的文件名为
app/company/companyservice.js
。谢谢。但这不是问题的原因,恐怕这不是问题所在。我在复制代码时犯了一个小错误。这实际上是我在这两个地方的名字(myCompany)。但是问题来自不同的角度,那么定义服务的JS文件可能不是由karma加载的。编辑您的问题并显示项目的目录结构和karma配置。不要再犯同样的错误。发布真实内容。添加了karma.conf.js文件和您要求karma加载的文件夹结构
app/company/CompanyService.js
。您的文件名为
app/company/companyservice.js
。谢谢。但这不是问题的原因,恐怕这不是问题所在。我在复制代码时犯了一个小错误。这实际上是我在这两个地方的名字(myCompany)。但是问题来自不同的角度,那么定义服务的JS文件可能不是由karma加载的。编辑您的问题并显示项目的目录结构和karma配置。不要再犯同样的错误。发布真实内容。添加了karma.conf.js文件和您要求karma加载的文件夹结构
app/company/CompanyService.js
。您的文件名为
app/company/companyservice.js
。谢谢。但这不是问题的原因,恐怕这不是问题所在。我在复制代码时犯了一个小错误。这实际上是我在这两个地方的名字(myCompany)。但是问题来自不同的角度,那么定义服务的JS文件可能不是由karma加载的。编辑您的问题并显示项目的目录结构和karma配置。不要再犯同样的错误。发布真实内容。添加了karma.conf.js文件和您要求karma加载的文件夹结构
app/company/CompanyService.js
。您的文件名为
app/company/companyservice.js
。谢谢。但这并不是这个问题的原因。