$ httpBackend不接受正则表达式

时间:2015-10-05 10:36:31

标签: regex angularjs jasmine

在我的应用程序中,将在http://localhost:8888/api/lists上进行通话。我可以通过使用以下调用验证此调用:

$httpBackend.whenGET("http://localhost:8888/api/lists").respond(200, dataMock);
$httpBackend.expectGET("http://localhost:8888/api/lists");

这些测试通过正常,$ httpBackend.verifyNoOutstandingExpectation()将通过。但是,我希望能够配置调用我的生产API的域。因此,我尝试切换到以下内容:

$httpBackend.whenGET("/\/api\/lists/").respond(200, dataMock);
$httpBackend.expectGET("/\/api\/lists/");

然后测试用例将失败,并显示消息“错误:没有待处理的请求刷新!”。我已经阅读了API以及this之类的问题,但我无法弄清楚为什么它不适用于我的情况。有人可以给我一些指示吗?

2 个答案:

答案 0 :(得分:1)

将正则表达式括在双引号中,使其成为普通字符串。您应该删除它们,因此,它将如下所示:

$httpBackend.whenGET(/\/api\/lists/).respond(200, dataMock);
$httpBackend.expectGET(/\/api\/lists/); 

答案 1 :(得分:1)

只需删除Regex中的引号。