2015-08-03 1 views
15

Я нахожу это невероятно расстраивающим, что угловатые макеты блокируют все запросы ПО ПО УМОЛЧАНИЮ и заставляют меня «проезжать», что я хочу.угловато-фальшивый - только макет явного запроса. сквозные все непредвиденные запросы

Иногда я просто хочу протестировать 1 URL-адрес с макетом, и я должен проскользнуть через серьезные обручи для каждой ошибки «Неожиданный запрос».

Я не знаю регулярное выражение, мне не нравится регулярное выражение, я не хочу использовать регулярное выражение!

смотрит на этот отвратительный код мне нужно по одной простой макете

$httpBackend.whenGET(/\/atlas\/account\/[0-9]+$/) 
    .respond(atlasAccounts[0]); 

    $httpBackend.whenGET(/\/scripts$/).passThrough();  
    $httpBackend.whenGET(/^\w+.*/).passThrough();  
    $httpBackend.whenPOST(/^\w+.*/).passThrough(); 

Почему это не просто быть сведено к одной линии ???

$httpBackend.whenGET(/\/atlas\/account\/[0-9]+$/) 
    .respond(atlasAccounts[0]); 

Или еще лучше, почему он не поддерживает проклятые подстановочные знаки? Они пытаются сделать жизнь разработчиков сложнее?

$httpBackend.whenGET("/atlas/account*") 
    .respond(atlasAccounts[0]); 

Это все, что нужно, если только это было это интуитивное ...

Есть ли способ отключить это все или ничего конвенции в ngMock и только перехватывают URLs Я ЯВНО издеваться?

+0

Серьезно я полностью согласен потратить дни на этом, я понятия не имел, что он блокирует все остальные запросы по умолчанию. – IronHide

ответ

9

Добавьте все свои снимки сначала, а затем, наконец, добавьте сквозной проход для всех. Я делаю что-то подобное в своем заявлении и отлично работает:

function run($httpBackend) { 
    var phones = [{ name: 'phone1' }, { name: 'phone2' }]; 

    // Capture specific request 
    $httpBackend.whenGET('/phones').respond(function() { 
     return phones; 
    }); 

    // Passthrough everything 
    $httpBackend.whenGET(/[\s\S]*/).passThrough(); 
} 

Это будет захватывать «телефоны». Если он не будет захвачен, он пройдет.

Смежные вопросы