Angularjs 如何使用angular.mocks.inject调用工厂构造函数?
考虑以下代码:Angularjs 如何使用angular.mocks.inject调用工厂构造函数?,angularjs,jasmine,karma-jasmine,angular-mock,Angularjs,Jasmine,Karma Jasmine,Angular Mock,考虑以下代码: beforeEach(inject(function (_User_) { user = _User_; })); 此模块/服务: angular.module('app.userModule', []) .factory('User', function() { function User(data) { data.forEach(function (attr) { if (data.hasOwnProperty(att
beforeEach(inject(function (_User_) {
user = _User_;
}));
此模块/服务:
angular.module('app.userModule', [])
.factory('User', function() {
function User(data) {
data.forEach(function (attr) {
if (data.hasOwnProperty(attr))
this[attr] = data[attr];
})
};
User.prototype.getSomeAttr() { return this.attr; }
return User;
};
我究竟如何使用inject将“数据”传递到用户函数构造函数中
编辑:我的示例来自这里的代码:您的工厂不返回任何内容。你能把真实的代码贴出来吗?什么是
访问
?已更新,感谢并为inject([…])的不连续操作道歉?你能给我举个例子吗?我是angularjs的新手。不确定uwhater_uuu语法如何与inject()函数配合使用,而且文档似乎没有明确说明哦,天哪,等等,你是说我可以在beforeach块中创建一个新的User实例而不需要任何注入吗?哦,曼诺。我想说的是,你的工厂返回一个构造函数。此构造函数由angular注入,并在测试中分配给user
。因此,现在您已经有了对它的引用,只需要调用它:newuser(data)
。