2015-12-17 2 views
1

После обновления пакета мои тесты с js: true терпят неудачу, потому что Capybara или Poltergeist возвращает абсолютный путь для ссылок вместо относительного.Rails Тесты функций завершаются после обновления пакета

Пример:

expect(edit_link[:href]).to eq(edit_agreement_path agreement) 

Сбой сообщение:

expected: "/agreements/1/edit" 
got: "http://127.0.0.1:55714/agreements/1/edit" 

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

Любые идеи, что изменилось и как это исправить? Не важно, как мне пройти все мои тесты, чтобы исправить эту проблему.

Для стандартных тестов не работает, как и следовало ожидать - получен относительный путь для ссылок.

Извините за мой английский.

+1

«Любые идеи, что изменилось» - изменился жемчуг. Я бы посмотрел на разницу между этими двумя версиями. –

ответ

0

Полтергейст был обновлен, чтобы вести себя так же, как селен (в большинстве случаев предпочитает свойство элемента по атрибуту). Вам нужно либо вернуться, либо обновить свои тесты. Лучшее решение на самом деле указать HREF при поиске по ссылке в первую очередь

expect(page).to have_link('edit', href: edit_agreement_path(agreement)) 

Или

edit_link = page.find(:link, 'edit', href: edit_agreement_path(agreement)) 

, если вы заботитесь о значении HREF, хотя фактическое значение HREF действительно ISN» t что-то для интеграционных тестов, о которых нужно беспокоиться. Они должны быть больше, если я нажму на него, я нахожусь на странице с возможностью редактировать элемент

+0

Спасибо, уже исправлены мои тесты. Проверяя ценность, у нас есть сложный генератор индексных представлений и несколько учеников в нашей команде - я хочу быть уверенным, что на всех страницах индекса есть все необходимые ссылки с правильными значениями. –

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