0

コントローラーの単体テストをいくつか行いたいと思います。スコープが適切にロードされていないことを除いて、私はすでにいくつかのものを準備しており、すべて正常に動作しています。コントローラーで値ユーザーを設定しましたが、テストでは値が設定されません。

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 が定義されていない理由はわかりませんが、このコントローラーにある関数のように、他のすべてがその中にあります

4

1 に答える 1

0
controller = $controller("app.controllers.merchant.create",
            $scope: scope,
            $location: location
            "app.services.user": user
            "app.services.sector": sector
            keyboardManager: bind: ->
        )

間違いは、作成コントローラーをテストしたことですが、そこに編集を書きました:P

于 2013-08-30T09:26:22.477 に答える