コントローラーの単体テストをいくつか行いたいと思います。スコープが適切にロードされていないことを除いて、私はすでにいくつかのものを準備しており、すべて正常に動作しています。コントローラーで値ユーザーを設定しましたが、テストでは値が設定されません。
merchantCreateController = ($scope, $location, Users, keyboardManager) ->
$scope.user= sector: []
今私の単体テストでは、ユーザーがその値で初期化されているかどうかをテストしたいと思います。
define ["controllers/user", "chai", "angular" ,"angularMocks", "app/services"], (directive, chai, angular, mocks) ->
describe "controllers.user.create", ->
controller = null
scope = null
user= null
sector = null
location = null
beforeEach ->
mocks.module "app.controllers.user"
beforeEach ->
mocks.module "app.services"
beforeEach ->
mocks.inject ['$rootScope', '$controller', '$location', 'app.services.user', 'app.services.sector', ($rootScope, $controller, _location, _user, _sector)->
scope = $rootScope.$new()
scope.user= sector: []
user = _user
location = _location
sector = _sector
controller = $controller("app.controllers.merchant.edit",
$scope: scope,
$location: location
"app.services.user": user
"app.services.sector": sector
keyboardManager: bind: ->
)
]
it '$scope.user is initialisized', ->
console.log scope.user
chai.expect(scope.user).to.deep.equal sector: []
scope.user が定義されていない理由はわかりませんが、このコントローラーにある関数のように、他のすべてがその中にあります