AngularJS测试$ httpBackend.whenGET()。respond()不使用number作为参数

时间:2014-12-30 00:18:30

标签: angularjs httpbackend

这个测试:

it("getFooCount success", function () {
    httpBackend.whenGET('/api/getFooCount').respond(1);

    fooService.getFooCount();
    httpBackend.flush();
    expect(fooService.FooCount).toBe(1);
});

失败:"预期null为1" (在调用api get方法之前,fooService.fooCount为null)。

然而,这个测试通过了:

it("getFooCount success", function () {
    httpBackend.whenGET('/api/getFooCount').respond("1");

    fooService.getFooCount();
    httpBackend.flush();
    expect(fooService.fooCount).toBe("1");
});

似乎能够用任何东西(对象,字符串,数组等)传递测试,除了.respond()中的数字。

我正在调用的api只返回一个整数,有关如何使其工作的任何建议,和/或它失败的原因?

1 个答案:

答案 0 :(得分:3)

查看用于响应的API,因为第一个参数实际上是状态代码。

请尝试回复(200,1)。

当你提供非statist对象作为第一个参数

时,Angularjs似乎很聪明