2015-07-23 4 views
3

Я использую модуль ngMock издеваться несколько запросов так:

$httpBackend.whenGET("/accounts").respond([obj]); 

Тем не менее, кажется, что загрузка модуля ожидает, что вы издеваться ВСЕ запросы. Так что если я делаю любой другой запрос, кроме тех, что я издевался, я получаю сообщение об ошибке «Неожиданный запрос».

Как настроить его так, чтобы он ТОЛЬКО перехватывал запросы, которые я издеваюсь явно, и передает все остальное через?

ответ

1

Вы можете использовать регулярное выражение и функцию passThrough(), встроенную в $ httpBackend.

beforeEach(inject(function($httpBackend){ 
    $httpBackend.whenGET("/accounts").respond([obj]); 
    //Pass everything else through 
    $httpBackend.whenGET(/^\w+.*/).passThrough(); 
})); 
+0

Это, похоже, больше не работает, оно по-прежнему вызывает ошибки для некоторых маршрутов, таких как/tapi/mds/info. Есть ли способ лучше? – parliament

+0

В основном это регулярное выражение, поэтому в результате вы можете просто перейти с помощью (/.*/). PassThrough(), который будет более открытым, но позволит все пропустить. – mikeswright49

+0

В чем смысл? имеет значение порядок, если я зарегистрирую новые после этого звонка? – parliament