Невозможно SpyOn метод htpp.get - PullRequest
1 голос
/ 10 марта 2020

Пример кода:

if (!this.scope.popupHtmlTemplate) {
    this.$http.get("widgets/pinpointcomponent/browseLibraries/resources/browseLibrariesDialogModal.html")
    .success((data: any) => {
        console.log("Inside success"+data)
        if (data) {
            this.generateBootBoxDialog(data);
            this.scope.popupHtmlTemplate = data;
        }
    });
} else {
    this.generateBootBoxDialog(this.scope.popopupHtmlTemplate)
}

Тестовый случай:

it("test expandLibrary case 3", () => {
    spyOn(http, "get");
    controller.showBrowseLibrariesDialog();
     expect(http.get).toHaveBeenCalled();
});

Получение

TypeError: undefined не является конструктивно-оценивающим spyOn (http, get) ")) ошибка.

Любые возможные способы написания теста для этого.

1 Ответ

1 голос
/ 10 марта 2020

Для одного вы шпионите за неопределенной http услугой, а не $http. Чтобы глубже копать, вы хотите, чтобы вместо этих $http звонков $httpBackend из ngMocks.

AngularJS: API: $ httpBackend

Это не только позволяет указать тесту ожидать $http методов вызова, таких как $httpBackend.expectGET();, но также позволяет имитировать вызовы и форсировать дайджесты с помощью $httpBackend.flush(); и даже воспроизводить ответ.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...