RoR Rspec теги с помощью have_selector - PullRequest
0 голосов
/ 10 апреля 2011

РЕДАКТИРОВАТЬ: понял это. Я должен делать ("span.age", :content => ...)

Я получаю следующую ошибку при запуске этого теста rspec

response.should have_selector("span.age", :age => work1.age.to_s):

Failure/Error: response.should have_selector("span.age", :age => work1.age.to_s)
       expected following output to contain a

     <span.age age='15'/> tag

выход

....

     <td class="work">
       <span class="age">15</span><br><span class="content">B.1</span>
     </td>

Выполнение того же теста для тега span.content с

response.should have_selector("span.content", :content => work1.content)

не дает ошибок. Однако, если я намеренно допустил ошибку в этом теге, я получу тот же вывод, но другое ожидание:

     <span.content>B.1</span.content>

Единственное, что отличается между контентом и возрастом, это то, что возраст - это целое число, а контент - это строка. Я не уверен, почему это происходит. Спасибо за помощь.

О, также, это не происходит в настройках dev, только в тесте.

1 Ответ

2 голосов
/ 21 апреля 2011

Ответ, я полагаю, заключается в выборе вами символа ": содержание" для вашей второй попытки. Чтобы исправить исходный тест, измените его на response.should have_selector ("span.age",: content => work1.age.to_s)

Это потому, что ключ «: content» относится к содержимому элемента «span», поэтому вы говорите: «ответ должен иметь селектор« span.age », содержимое которого равно результату вычисления выражения» work1.age.to_s ". Ваш первоначальный тест искал элемент span.age с атрибутом age, равным этому.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...