我是单元测试概念的新手,我正在尝试设置一个简单的测试。我正在开发的平台要求所有 JavaScript 首先用 CoffeeScript 编写。我已经阅读了许多关于如何完成此操作的示例,但我的测试不断失败。
这是我的控制器的样子:
'use strict'
angular.module('test')
.controller 'BasicController', ['$scope', '$location', ($scope, $location) ->
$scope.page.title = "Page Title"
$scope.$watch(
() ->
return $location.url()
)
]
这是我的测试脚本的样子:
'use strict'
describe "The Basic Controller", ->
beforeEach(module('test'))
scope = {}
location = {}
ctrl = {}
beforeEach inject ($rootScope, $controller, $location) ->
scope = $rootScope.$new()
location = $location
ctrl = $controller("BasicController", {$scope: scope})
it "should have the correct title", ->
expect(scope.page.title).toBe("Page Title")
我正在使用 PhantomJS,我得到的错误消息是未定义 scope.page.title 对象。我不明白为什么会这样。我将该变量设置为测试正在检查的值,我很难理解为什么它没有通过。任何帮助或指导将不胜感激。我不知道我是否在我的 CoffeeScript 语法中犯了错误(更愿意用 JavaScript 编码)或者我是否完全忘记了一些东西。