一个新手 Jasmine/Angular 问题。
我在控制器中有一个命名函数,如下所示:
.controller( 'DummyCtrl', function DummyCtrl($scope){
var doSomething = function() {
return "blah";
};
})
我需要测试这个函数,并试图通过调用以下 Jasmine 规范:
describe ('myApp', function(){
var $scope, $controller;
var DummyCtrl;
beforeEach(module('myApp'));
describe('controllers', function(){
beforeEach(inject(function ($controller, $rootScope){
$scope = $rootScope.$new();
DummyCtrl = $controller('DummyCtrl', {$scope: $scope});
}));
describe( 'DummyCtrl', function(){
var blah;
beforeEach(function(){
blah = DummyCtrl.doSomething();
});
it('should do something', function(){
expect(blah).toContain("blah");
});
});
});
});
我没有解决问题,而是导致以下错误:TypeError: Object #<DummyCtrl> has no method 'doSomething'
. 我假设这是我不理解的超级简单的事情。