Я пишу некоторые тестовые примеры интеграции для существующего приложения. Мой тест отлично работает, если есть только один блок. Однако, если я добавляю более одного блока, он вызывает ошибку. Ниже приведен код, который работает:Тесты Rspec/Capybara не работают для нескольких блоков «it»
require 'spec_helper'
describe 'Group' do
before do
visit 'http://groups.caremonkey.com/users/sign_in'
fill_in "Email", :with => "[email protected]"
fill_in "Password", :with => "password"
click_button "Login"
page.should have_link('Account')
end
it 'Should check all the links and functionality of groups' do
#add new subgroup with valid data should save a new group
find("#group-squares").click_link("Add")
fill_in "Group Name", :with => "Melbourne futsal"
click_on("Save")
page.should_not have_content("can't be blank")
page.execute_script("parent.$.fancybox.close();")
page.should have_link('Account')
#test edit group: should be able to update group info provided valid data are given
first(".actual img").click
page.should have_content("Group")
page.should have_link("Cancel")
fill_in "Group name", :with => "Futsal club"
page.execute_script("$('#sub-group-color-options').find('.color23').click()")
click_button "Save"
click_on("Cancel")
page.should have_link('Account')
end
end
Он отлично работает, когда я ставлю все «это» блок вместе в одном «это» блок. Но когда я разделяю их на другой блок «it», он перестает работать. Например, если я разделить эту («редактировать группу теста: должно быть в состоянии обновить Информацию о группе при условии, действительные данные приведены») тестовый случая в отдельную «это» блок следующего
require 'spec_helper'
describe 'Group' do
before do
visit 'http://groups.caremonkey.com/users/sign_in'
fill_in "Email", :with => "[email protected]"
fill_in "Password", :with => "password"
click_button "Login"
page.should have_link('Account')
end
it 'add new subgroup with valid data should save a new group' do
find("#group-squares").click_link("Add")
fill_in "Group Name", :with => "Melbourne futsal"
click_on("Save")
page.should_not have_content("can't be blank")
page.execute_script("parent.$.fancybox.close();")
page.should have_link('Account')
end
it 'should be able to update group info provided valid data are given' do
first(".actual img").click
page.should have_content("Group")
page.should have_link("Cancel")
fill_in "Group name", :with => "Futsal club"
page.execute_script("$('#sub-group-color-options').find('.color23').click()")
click_button "Save"
click_on("Cancel")
page.should have_link('Account')
end
end
затем RSpec не удается, она проходит первый тест, однако второй тест получает отказ от бросания следующей ошибки. более
Failure/Error: visit 'http://groups.caremonkey.com/users/sign_in'
ActionController::RoutingError:
No route matches [GET] "https://stackoverflow.com/users/sign_in"
Одна вещь, я должен проверить все функции в удаленном (URL: http://groups.caremonkey.com/). Потому что я пишу интеграционные тесты для существующего приложения. Кроме того, мне нужно войти в систему, прежде чем тестировать остальные функции моего приложения. Заранее спасибо за вашу помощь.
Вы намеревались сделать пользователя 'bash @ caremonkey.com' полностью общедоступным для всех в Интернете? –
Нет, это не было преднамеренным. Я изменил свой пользователь/пропуск только для целей тестирования. Спасибо в любом случае за вашу заботу. –
Обновите свой вопрос, чтобы точно показать, как вы разделили тесты и что такое сообщение об ошибке. – Shepmaster