私は次の問題を抱えています:Angularjs単体テストファイルからコントローラー内のオブジェクトテキストのプロパティテキストにアクセスできません:
$scope.ocr = function(source) {
initialiseZones();
$http.post("/oceriser", {
sourceImage: source
}).success(function(data, status, headers, config) {
$scope.textes = {
source: source,
editor: $scope.addEditor(angular.fromJson(data)),
text: angular.fromJson(data)
};
$scope.currentImage.source = "";
$scope.showEditor = true;
$scope.msg = "ok";
}).error(function(data, status, headers, config) {
$scope.msg = "ko";
});
}
私のテストファイルでは、コントローラーメソッドをテストしたいので、次のことを行います:
it('has to return text from image', inject(function($httpBackend) {
var expected = {text : 'blabla'};
$httpBackend.expectPOST('/oceriser').respond(expected);
$scope.ocr('./image.png');
$httpBackend.flush();
expect($scope.textes.text).toBe(expected.text); // this line has to be false because the value of $scope.textes.text is different from expected.text value.
expect($scope.textes.source).toBe('./image.png');// this line is true and when the parameter of the matcher is changed it becomes false
}));
問題は、私がアクセスする値 ($scope.textes.source は正しい ./image.png) ですが、値 $scope.textes.text は正しくなく、expected.text と同じです。
何が問題になるのかわかりません。提案?