-
-
Notifications
You must be signed in to change notification settings - Fork 58
/
rerun_snippet_test.rb
45 lines (37 loc) · 1.18 KB
/
rerun_snippet_test.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
require "test_helper"
class RerunSnippetTest < PARENT_TEST_CASE
context "A Rails application with shoulda-context added to it" do
should "display the correct rerun snippet when a test fails" do
if app.rails_version >= 5 && TEST_FRAMEWORK == "minitest"
app.create
app.write_file("test/models/failing_test.rb", <<~RUBY)
ENV["RAILS_ENV"] = "test"
require_relative "../../config/environment"
class FailingTest < #{PARENT_TEST_CASE}
should "fail" do
assert false
end
end
RUBY
command_runner = app.run_n_unit_test_suite
expected_file_path_with_line_number =
if rails_version >= 6
"rails test test/models/failing_test.rb:5"
else
"bin/rails test test/models/failing_test.rb:5"
end
assert_includes(
command_runner.output,
expected_file_path_with_line_number
)
end
end
end
def app
@_app ||= RailsApplicationWithShouldaContext.new
end
def rails_version
# TODO: Update snowglobe so that we don't have to do this
app.send(:bundle).version_of("rails")
end
end