2013-03-31 1 views
-1

Я пытаюсь написать тест из конца в конец, который проверяет, если ар тег существует, содержащих некоторые конкретный текст:AngularJS проверка теста р содержит текст

it('should display search result snippet for a result item', function() { 
    input('query').enter('One'); 
    element('#submitSearchButton').click(); 
    expect(element('.emails li p').text()).toEqual('This is a search result snippet for email one') 
}) 

Однако я получаю:

expected "This is a search result snippet for email one" but was "\n\t\t\t\t\t\tThis is a search result snippet for email one\n\t\t\t\t\t" 

Как я могу проверить, что страница содержит требуемый текст?

Edit:

Хорошо, я вижу, что это потому, что я тестирую то, что находится в шаблоне HTML. Этот шаблон форматирования, чтобы сделать его легче читать, но я запуталась, потому что я смотрел на оказанной веб-страницы в браузере:

<p> 
    {{email.snippet}} 
</p> 

Мой вопрос теперь, как я должен идти о тестировании в тесте угловой э2э, что мой фрагмент электронной почты отображается как ожидалось? Должен ли я повторно форматировать шаблон, или я должен идти об этом по-другому?

+0

использовать регулярное выражение для проверки значения вместо прямого сравнения – charlietfl

+0

Вы не должны иметь, что статическое значение в тесте. Откуда взялась эта ценность? С новостями и вкладками я предполагаю, что это происходит из HTML-файла, что заставляет меня задаться вопросом, почему вы тестируете его, содержит то, что было написано вручную. Можете ли вы уточнить? –

+0

Почему кто-то проголосовал за меня за этот вопрос? – shmish111

ответ

-2

Я не уверен, почему ваш код выглядит так. В JQuery, чтобы проверить, если р содержит некоторый текст, который вы только что нужно сделать:

if ($('p:contains("someText")').length > 0) { 
    // Your code here 
} 

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

  • Нет связанных вопросов^_^