Вы можете избежать переустановить приложение каждый раз, когда вы выполнить тестирование, если вы измените app_life_cycle_hooks.rb таким образом:
Before do |scenario|
scenario_tags = scenario.source_tag_names
if scenario_tags.include?('@first')
if scenario_tags.include?('@reinstall')
uninstall_apps
install_app(ENV['TEST_APP_PATH'])
install_app(ENV['APP_PATH'])
end
start_test_server_in_background
end
end
Теперь вы можете использовать тег в ваших сценариях, чтобы решить, когда start_test_server_in_background и при переустановке приложения. Например, вы можете сделать это:
@first @reinstall @test1
Scenario: Run application reinstalling the app
Given lorem ipsum
When lorem ipsum
Then lorem ipsum
@first @test2
Scenario: Run application WITHOUT reinstalling the app
Given lorem ipsum
When lorem ipsum
Then lorem ipsum
@test1 @test2
Scenario: Other scenario without relaunching app
Given lorem ipsum
When lorem ipsum
Then lorem ipsum
Если вы запускаете тест с @ test1 тега, кальян будет выполнять сценарии 1 и 3, и приложение будет переустанавливать. И если вы запустите с тегом @ test2, сценарии 2 и 3 будут запущены без повторной установки приложения.
Истина! Без вытирания он сохраняется. – lony