Я написал короткий тестовый пример, основанный на примере с Angular unit-testing documentation. Я пытался создать jsfiddle без везения, поэтому, пожалуйста, несите меня.Undefined не является функцией CoffeeScript/Angular/Jasmine
# app definition
app = module 'myApp', []
.controller 'myCtrl', ['$scope', ($scope) ->$scope.foo = 'foo']
# test
describe 'myCtrl tests',() ->
beforeEach module 'myApp'
$controller = undefined
beforeEach inject (_$controller_) ->
$controller = _$controller_
describe 'myCtrl',() ->
it 'should not throw an error',() ->
$scope = {}
controller = $controller 'myCtrl',{$scope: $scope}
expect ($scope.foo).toEqual 'foo'
Когда я запускаю этот тест, я получаю «Ошибка типа: не определено не является функцией» за $ scope.foo и тест не пройден.
Brilliant! Вот и все. Я знал, что это должен быть гремлин CoffeeScript. –