2015-12-29 7 views
1

Я пытаюсь проверить обслуживание, но я не знаю, как проверить цикл внутри. Можно ли проверить случай с host.lenght === 1 по-разному, чем макет url, который возвращает host.length = 1. Должен ли я позвонить, чтобы проверить весь мой код внутри службы, чтобы проверить его? Также как тестировать isNaN? Вот мой код:Как проверить цикл внутри службы AngularJS

if (host.length === 1 || !isNaN(host[host.length - 1])) { 

    name = a.hostname; 

} else { 

    if (host[0] === "www") { 
      slice = 1; 
    } 
    name = host.slice(slice, host.length - 1).reverse().join(" "); 
} 

jsfiddle Demo

+0

Эй, ты говоришь, что хочешь протестировать «цикл», но я его не вижу, ты уверен, что опубликовал правильный код? – maurycy

ответ

0

В этом случае, это выглядит проще просто использовать URL, который даст вам такое поведение. На мой взгляд, это будет также лучший тест, поскольку он фактически проверяет намерение кода, а не просто гарантирует, что будут вызываться определенные методы. В конце концов, этот код был написан, чтобы справиться с разными типами URL-адресов, почему бы не протестировать их именно с этим?

У вас уже есть проверка на этот URL: 'http://angular.com/about'. Для случая, о котором вы говорите, вы можете использовать 'http://angular/about', а затем 'http://www.angular.com/about', чтобы проверить код, который вырезает часть www..

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