単体テスト:
"use strict";
var usersJSON = {};
describe("mainT", function () {
var ctrl, scope, httpBackend, locationMock,
beforeEach(module("testK"));
beforeEach(inject(function ($controller, $rootScope, $httpBackend, $location, $injector) {
scope = $rootScope.$new();
httpBackend = $httpBackend;
locationMock = $location;
var lUrl = "../solr/users/select?indent=true&wt=json",
lRequestHandler = httpBackend.expect("GET", lUrl);
lRequestHandler.respond(200, usersJSON);
ctrl = $controller("mainT.controller.users", { $scope: scope, $location: locationMock});
httpBackend.flush();
expect(scope.users).toBeDefined();
}));
afterEach(function () {
httpBackend.verifyNoOutstandingRequest();
httpBackend.verifyNoOutstandingExpectation();
});
describe("method test", function () {
it('should test', function () {
expect(true).toBeFalsy();
});
});
});
私がテストしているコントローラー(動作中):問題を引き起こしているinitの非同期関数(../solr/users/select?indent = true&wt = jsonを使用):
$scope.search = function () {
var lStart = 0,
lLimit = privates.page * privates.limit;
Search.get({
collection: "users",
start: lStart,
rows: lLimit)
}, function(records){
$scope.users= records.response.docs;
});
};
1.バックエンドに、彼が受け取るリクエストを
通知する 2.空のJSONでそのリクエストに対する応答をバックエンドに通知する3.コントローラーを作成します( Search.get
getが実行されます)
4.バックエンドにすべてのリクエストを受信して応答するように通知します(流す)
それでも、常に次のエラーが発生します。
Error: Unexpected request: GET : ../solr/users/select?indent=true&wt=json
非同期検索機能の扱いが悪いのでしょうか? これはどのように行うべきですか?