В настоящее время я пытаюсь использовать огурец вместе с капибарой для некоторых интеграционных тестов веб-приложения.
Существует один тест, в котором я просто хочу просмотреть все (или большинство) страниц веб-приложения и посмотреть, не было ли ошибок возвращено. Я хочу, чтобы потом было видно, какие страницы не работают.
Я думаю, что схемы сценариев были бы наилучшим подходом, поэтому я начал так:
Scenario Outline: Checking all pages pages
When I go on the page <page>
Then the page has no HTTP error response
Examples:
| page |
| "/resource1" |
| "/resource2" |
...
У меня сейчас 82 страницы, и это прекрасно работает.
Однако я считаю, что этот подход не поддерживается, поскольку могут появиться новые ресурсы и ресурсы, которые будут удалены.
Лучшим подходом было бы загрузить данные из таблицы откуда-то (разбор HTML индексной страницы, базы данных и т. Д.).
Но я не понял, как это сделать.
Я наткнулся на статью о преобразовании таблиц , но я не мог понять, как использовать это преобразование в набросках сценария.
Есть предложения?
ОК, так как есть некоторая путаница. Если вы посмотрите на пример выше. Все, что я хочу сделать, это изменить его так, чтобы таблица была почти пустой:
Scenario Outline: Checking all pages pages
When I go on the page <page>
Then the page has no HTTP error response
Examples:
| page |
| "will be generated" |
Затем я хочу добавить преобразование, которое выглядит примерно так:
Transform /^table:page$/ do
all_my_pages.each do |page|
table.hashes << {:page => page}
end
table.hashes
end
Я указал преобразование в том же файле, но оно не выполняется, поэтому я предполагал, что преобразования не работают со схемами сценария.