Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/22.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.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
Unit testing Angularjs向工厂注入$resource用于测试jasmine_Unit Testing_Angularjs_Jasmine - Fatal编程技术网

Unit testing Angularjs向工厂注入$resource用于测试jasmine

Unit testing Angularjs向工厂注入$resource用于测试jasmine,unit-testing,angularjs,jasmine,Unit Testing,Angularjs,Jasmine,我正在编写我的单元测试,以测试如下开发的工厂 angular.module("MyApp.Factory",[]).factory("factory",function($resource, baseUrl) { return { someService: function () { return $resource(baseUrl + "/someUri"); } }; }); 茉莉花规格相同 describe("My

我正在编写我的单元测试,以测试如下开发的工厂

angular.module("MyApp.Factory",[]).factory("factory",function($resource, baseUrl) {
    return {
        someService: function () {
            return $resource(baseUrl + "/someUri");
        }
    };
});
茉莉花规格相同

describe("My App Factory Tests", function () {

        var $factory;

        beforeEach(function () {

            module("MyApp.Factory");

            inject(function (factory) {
                $factory = factory;
            });

        });

        it("Factory must be defined", function () {
            expect($factory).toBeDefined();
        });


    });
但是,我在jasmine html测试页面中遇到了以下错误


错误:未知提供程序:$resourceProvider
ngResource
在单独的模块中定义。请检查文件 换句话说,您必须包括
并将
ngResource
依赖项添加到
MyApp.Factory
module-
angular.module(“MyApp.Factory”,“ngResource”])

另外,在规范中,您可以用下划线环绕服务名称,这样我们就可以在本地分配与服务同名的局部变量。例如:

var factory;

beforeEach(function () {

  module("MyApp.Factory");

  inject(function (_factory_) {
    factory = _factory_;
  });

});

根据angularjs编码标准,
$
不应用于命名自定义指令。

为单元测试实例化工厂的最简单方法是什么?只需将其注入规范,例如:`it(“DotheMagic”,inject(function(myService){expect(myService.trick()).toBe(true);});