Class: Spring::Test::AcceptanceTest
- Inherits:
-
ActiveSupport::TestCase
- Object
- ActiveSupport::TestCase
- Spring::Test::AcceptanceTest
- Defined in:
- lib/spring/test/acceptance_test.rb
Constant Summary collapse
- DEFAULT_SPEEDUP =
0.8
Instance Method Summary collapse
- #app ⇒ Object
- #assert_failure(command, expected_output = nil) ⇒ Object
- #assert_output(artifacts, expected) ⇒ Object
- #assert_speedup(ratio = DEFAULT_SPEEDUP) ⇒ Object
- #assert_success(command, expected_output = nil) ⇒ Object
- #generator ⇒ Object
-
#generator_klass ⇒ Object
Extension point for spring-watchers-listen.
- #rails_version ⇒ Object
- #refute_output_includes(command, not_expected) ⇒ Object
- #spring_env ⇒ Object
- #without_gem(name) ⇒ Object
Instance Method Details
#app ⇒ Object
27 28 29 |
# File 'lib/spring/test/acceptance_test.rb', line 27 def app @app ||= Spring::Test::Application.new("#{Spring::Test.root}/apps/tmp") end |
#assert_failure(command, expected_output = nil) ⇒ Object
48 49 50 51 52 |
# File 'lib/spring/test/acceptance_test.rb', line 48 def assert_failure(command, expected_output = nil) artifacts = app.run(*Array(command)) assert !artifacts[:status].success?, "expected unsuccessful exit status\n\n#{app.debug(artifacts)}" assert_output artifacts, expected_output if expected_output end |
#assert_output(artifacts, expected) ⇒ Object
35 36 37 38 39 40 |
# File 'lib/spring/test/acceptance_test.rb', line 35 def assert_output(artifacts, expected) expected.each do |stream, output| assert artifacts[stream].include?(output), "expected #{stream} to include '#{output}'.\n\n#{app.debug(artifacts)}" end end |
#assert_speedup(ratio = DEFAULT_SPEEDUP) ⇒ Object
62 63 64 65 66 67 68 69 70 71 |
# File 'lib/spring/test/acceptance_test.rb', line 62 def assert_speedup(ratio = DEFAULT_SPEEDUP) if ENV['CI'] yield else app.with_timing do yield assert app.timing_ratio < ratio, "#{app.last_time} was not less than #{ratio} of #{app.first_time}" end end end |
#assert_success(command, expected_output = nil) ⇒ Object
42 43 44 45 46 |
# File 'lib/spring/test/acceptance_test.rb', line 42 def assert_success(command, expected_output = nil) artifacts = app.run(*Array(command)) assert artifacts[:status].success?, "expected successful exit status\n\n#{app.debug(artifacts)}" assert_output artifacts, expected_output if expected_output end |
#generator ⇒ Object
23 24 25 |
# File 'lib/spring/test/acceptance_test.rb', line 23 def generator @@generator ||= generator_klass.new(rails_version) end |
#generator_klass ⇒ Object
Extension point for spring-watchers-listen
19 20 21 |
# File 'lib/spring/test/acceptance_test.rb', line 19 def generator_klass Spring::Test::ApplicationGenerator end |
#rails_version ⇒ Object
14 15 16 |
# File 'lib/spring/test/acceptance_test.rb', line 14 def rails_version ENV['RAILS_VERSION'] || '~> 5.0.0' end |
#refute_output_includes(command, not_expected) ⇒ Object
54 55 56 57 58 59 60 |
# File 'lib/spring/test/acceptance_test.rb', line 54 def refute_output_includes(command, not_expected) artifacts = app.run(*Array(command)) not_expected.each do |stream, output| assert !artifacts[stream].include?(output), "expected #{stream} to not include '#{output}'.\n\n#{app.debug(artifacts)}" end end |
#spring_env ⇒ Object
31 32 33 |
# File 'lib/spring/test/acceptance_test.rb', line 31 def spring_env app.spring_env end |
#without_gem(name) ⇒ Object
73 74 75 76 77 78 79 |
# File 'lib/spring/test/acceptance_test.rb', line 73 def without_gem(name) gem_home = app.gem_home.join('gems') FileUtils.mv(gem_home.join(name), app.root) yield ensure FileUtils.mv(app.root.join(name), gem_home) end |