【发布时间】:2015-02-04 11:10:26
【问题描述】:
我正在尝试为控制器编写一些测试,但是关于此的所有文档/教程/等都使用 $scope 上的函数和变量进行演示。如果你想测试不在 $scope 上的东西怎么办?
例如:
app.controller('fakeCtrl', function($scope) {
var foo = 'bar';
function fooBar() {
console.log('foo bar');
}
});
有没有办法对foo 或fooBar() 进行单元测试?
以下是不起作用的:
describe("fake controller", function(){
beforeEach(module('app'));
var $controller;
beforeEach(inject(function(_$controller_, $rootScope){
$controller = _$controller_;
$scope = $rootScope.$new();
}));
describe('foo property', function() {
it('is bar', function() {
var controller = $controller('fakeCtrl', { $scope: $scope });
expect(controller.foo).toEqual('bar');
});
});
...
【问题讨论】:
标签: javascript angularjs unit-testing jasmine