【发布时间】:2015-09-04 19:17:14
【问题描述】:
我正在尝试开始使用 angular.js,但我不知道如何在测试之前将一个简单的变量注入到我的控制器中。
这是我的控制器:
angular.module("app").controller("SimpleController", SimpleController);
function SimpleController() {
var vm = this;
vm.myVar = 1;
vm.getMyVar = function() {
return vm.myVar;
};
}
我的测试如下所示:
describe("SimpleController", function() {
var vm;
beforeEach(module('app'));
beforeEach(inject(function($controller, $rootScope) {
vm = $controller('SimpleController', {
$scope: $rootScope.$new(),
myVar: 2
});
}));
it('myVar should be 2 not 1', function() {
expect(vm.getMyVar()).toEqual(2);
});
});
我做了很多谷歌搜索,但这真的很令人困惑,因为很多人确实在控制器中使用$scope,而不是像我一样使用this。但我猜变量的注入应该也适用于this?
【问题讨论】:
标签: javascript angularjs karma-runner