Jasmine TypeError:无法设置角度范围中未定义的属性

Jasmine TypeError:无法设置角度范围中未定义的属性,jasmine,angularjs-scope,angular-ui-bootstrap,testcase,angular1.6,Jasmine,Angularjs Scope,Angular Ui Bootstrap,Testcase,Angular1.6,我正在angular 1.5版本中运行测试用例,但我得到了以下错误,即使我在postToRegisterController中有正确的逻辑,并且dealerNumber在应用程序中运行良好 postToRegisterController scope.contract.dealNumber × set valid deal number TypeError: Cannot set property 'dealNumber' of undefined at <Jasm

我正在angular 1.5版本中运行测试用例,但我得到了以下错误,即使我在postToRegisterController中有正确的逻辑,并且dealerNumber在应用程序中运行良好

postToRegisterController
   scope.contract.dealNumber
     × set valid deal number 
TypeError: Cannot set property 'dealNumber' of undefined
   at <Jasmine>
   at UserContext.<anonymous> (src/assets/js/controllers/portal-integrated-apps/quikRegister/postToRegisterController.spec.js:46:43)

我错过什么了吗?任何意见都值得赞赏。请告诉我这里出了什么问题。

查看您的代码,我找不到任何理由说明
范围。
合同确实不应该是未定义的。 因此,作为一种解决方法,您可以尝试

scope.contract = {
   dealNumber = 1234
}

scope=\$rootScope\$new()中实例化了scope变量
但您从未给
scope.contract
一个值,因此它是未定义的

由于
scope.contract
未定义,因此如果尝试为
scope.contract.dealNumber
赋值,则它将始终返回一个错误,说明您无法设置未定义的交易编号(在本例中为
scope.contract

照办

scope = _$rootScope_.$new();
scope.contract={};
它应该会起作用

scope = _$rootScope_.$new();
scope.contract={};