.1 и капибара-1.1.2. Я хотел бы использовать Seleniumдля тестирования JavaScript, но без удаления данных базы данных test
каждый раз, когда я запускаю командную строку огурец
в окне терминала. . То есть, если я заявлю о характеристике, подобной следующей:
Feature: ...
@javascript
Scenario: ...
JavaScript протестирован так, как и ожидалось. Однако после запуска теста данные базы данных test
удаляются, и я должен снова заполнить эту базу данных, чтобы правильно запустить новые тесты.
Я прочитал Официальную документациюи текст, присутствующий в файле ROOT_APP/features/support/env.rb
(кажется, что я установил все необходимые драгоценные камни Ruby — см. ниже для больше информации о Gemfile, который я использую), но я не понял, как избежать удаления данных базы данных и как настроить гемы Cucumber и Capybara, чтобы правильно работать с Selenium.
Что мне делать?
Примечание I: я хотел бы сделать это, потому что я хотел бы иметь те же тестовые
данные базы данных, когда я "тестирую"/"запускаю" сценарии.
Примечание II: чтобы заполнить данные в базе данных test
(эти данные нужны моему приложению для работы), я добавляю следующий код в RAILS_ROOT_PATH/lib/tasks/ огурец.rake
и запускаю командную строку rake db:test:prepare
из окна терминала.
namespace :db do
namespace :test do
task :prepare => :environment do
Rake::Task["db:seed"].invoke
end
end
end
В файле ROOT_APP/features/support/env.rb
я попытался раскомментировать один и оба следующих блока кода ( BTW: я никогда не менял исходный файл auto -генерируется гемом Cucumber-Rails
, поэтому он используется по умолчанию), но после запуска тестов он по-прежнему удаляет данные базы данных test
.
# Before('@no-txn,@selenium,@culerity,@celerity,@javascript') do
# # { :except => [:widgets] } may not do what you expect here
# # as tCucumber::Rails::Database.javascript_strategy overrides
# # this setting.
# DatabaseCleaner.strategy = :truncation
# end
#
# Before('~@no-txn', '~@selenium', '~@culerity', '~@celerity', '~@javascript') do
# DatabaseCleaner.strategy = :transaction
# end
Выдержка из Gemfile:
group :development, :test do
gem "rspec-rails"
end
group :test do
gem 'cucumber-rails'
gem 'database_cleaner'
gem 'capybara'
end