0
控制器觸發功能在一個角控制器我有我的範圍功能,看起來像這樣:與噶
$scope.myFunction = function(val) {
$scope.myVar = val;
$scope.mySettings.myPath = $scope.myBase + $scope.myVar;
}
在我的人緣單元測試我想用一個觸發控制器上的功能價值我提供...然後檢查$ scope.mySettings.myPath,以確保它是我認爲它應該是。
林因果報應試圖此:
describe("Unit Testing: Controller Testing" , function() {
describe('myController' , function() {
var scope,ctrl;
beforeEach(module('myApp.controllers'));
beforeEach(inject(function($rootScope, $controller) {
scope = $rootScope.$new();
ctrl = $controller('myController', {
$scope: scope
});
}));
it('should have a working changeVideo function' , function(){
scope.changeVideo(scope.myVar[6]);
expect(scope.mySettings.myPath).to.equal('Expected String');
});
});
});
我看到的錯誤是,它無法調用未定義的平等法。這很奇怪,因爲scope.mySettings.myPath實際上是在控制器中預定義的,所以它不應該是未定義的。
爲了給出一些背景,我可以從業力訪問控制器和範圍。儘管如此,這個人仍然在困擾着我。
您可以發佈完整測試嗎? –
是不是'toEqual()'?或簡單地'toBe()' –
我發佈了一個更完整的測試編輯 – Deslyxia