Я пишу сценарий для формы регистрации.
@abc
@selenium
Scenario:Non registered user signs up
Given I am on the sign-up page
When I fill in the following:
|first_name|Anidhya|
|last_name|Ahuja|
|email|anidhya@gmail.com|
|password|123456|
And I press "submit"
Then I should see "Registration complete"
Я хочу использовать очиститель базы данных для отката тестовой базы данных после этого сценария, чтобы я мог использовать этот сценарий снова и снова.
Для этого внутри моего файла env.rb я написал:
begin
require 'database_cleaner'
require 'database_cleaner/cucumber'
DatabaseCleaner.strategy = :transaction
Cucumber::Rails::World.use_transactional_fixtures = true
rescue NameError
raise "You need to add database_cleaner to your Gemfile (in the :test group) if you wish to use it."
end
Before('@abc') do
DatabaseCleaner.start
end
After('@abc') do
DatabaseCleaner.clean
end
Теперь, когда я запускаю сценарий, пользователь сохраняется в базе данных и происходит сбой очистителя базы данных. Я не вижу сообщений об ошибках
- Не могли бы вы уточнить, как использовать очиститель базы данных только для одного сценария. Я хочу использовать очиститель только для этого сценария.
- Не могли бы вы также указать существенную разницу между использованием усечения и транзакции. Я думаю, что усечение очищает всю базу данных, но я не хочу этого.
- Есть ли лучший способ выполнить тестирование регистрации, чем этот?