茉莉花测试角度$ http.get拒绝抛出错误

时间:2017-10-10 11:06:19

标签: angularjs http get karma-jasmine jasmine2.0

我正在测试我作业的核心平台的许多现有服务,并且我有一个服务,当$ http调用不成功时会抛出错误: 这是代码:

function getConfiguration(configurationType) {
    var parameters = {
        res: configurationType,
        host: $location.host()
    };

    return $http({
        url: url,
        method: 'GET',
        params: parameters,
        paramSerializer: '$httpParamSerializerJQLike'
    })
        .then(
            function (response) {
                console.log(response);
                return response.data;
            },
            function (error) {
                console.error(error);
                throw error;
            });
}

这是我的Jasmine测试:

it('reject api call', function () {
    httpBackend.whenGET(/(.*)(\/configuration)\?(.*)/g).respond(400, {error: 'error_msg'});

    expect(function () {
       configurationService.getConfiguration('publicserviceslist');
    }).toThrow();

    httpBackend.flush();
});

我收到的错误是:

Expected function to throw an exception.

我不想抛出异常。我正在使用this帖子作为指南,但我无法弄清楚我的代码会发生什么。

任何帮助将不胜感激,谢谢大家。

0 个答案:

没有答案