assert 2.15.2 → 2.16.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +5 -5
- data/lib/assert/assertions.rb +6 -0
- data/lib/assert/config_helpers.rb +35 -14
- data/lib/assert/context.rb +36 -43
- data/lib/assert/context/test_dsl.rb +4 -4
- data/lib/assert/default_suite.rb +35 -40
- data/lib/assert/default_view.rb +109 -37
- data/lib/assert/file_line.rb +1 -1
- data/lib/assert/result.rb +67 -27
- data/lib/assert/runner.rb +14 -10
- data/lib/assert/suite.rb +41 -50
- data/lib/assert/test.rb +39 -81
- data/lib/assert/version.rb +1 -1
- data/lib/assert/view_helpers.rb +11 -21
- data/test/helper.rb +40 -0
- data/test/system/test_tests.rb +90 -88
- data/test/unit/assertions/assert_block_tests.rb +14 -10
- data/test/unit/assertions/assert_empty_tests.rb +14 -10
- data/test/unit/assertions/assert_equal_tests.rb +22 -14
- data/test/unit/assertions/assert_file_exists_tests.rb +14 -10
- data/test/unit/assertions/assert_includes_tests.rb +14 -10
- data/test/unit/assertions/assert_instance_of_tests.rb +14 -10
- data/test/unit/assertions/assert_kind_of_tests.rb +14 -10
- data/test/unit/assertions/assert_match_tests.rb +14 -10
- data/test/unit/assertions/assert_nil_tests.rb +14 -10
- data/test/unit/assertions/assert_raises_tests.rb +14 -10
- data/test/unit/assertions/assert_respond_to_tests.rb +14 -10
- data/test/unit/assertions/assert_same_tests.rb +20 -14
- data/test/unit/assertions/assert_true_false_tests.rb +28 -20
- data/test/unit/assertions_tests.rb +12 -9
- data/test/unit/config_helpers_tests.rb +72 -13
- data/test/unit/context/test_dsl_tests.rb +38 -45
- data/test/unit/context_tests.rb +12 -8
- data/test/unit/default_suite_tests.rb +66 -43
- data/test/unit/file_line_tests.rb +4 -1
- data/test/unit/result_tests.rb +71 -47
- data/test/unit/runner_tests.rb +34 -16
- data/test/unit/suite_tests.rb +61 -29
- data/test/unit/test_tests.rb +97 -134
- data/test/unit/view_helpers_tests.rb +17 -31
- metadata +2 -2
data/test/unit/context_tests.rb
CHANGED
@@ -12,7 +12,11 @@ class Assert::Context
|
|
12
12
|
@test = Factory.test
|
13
13
|
@context_class = @test.context_class
|
14
14
|
@callback_result = nil
|
15
|
-
@
|
15
|
+
@test_results = []
|
16
|
+
@result_callback = proc do |result|
|
17
|
+
@callback_result = result
|
18
|
+
@test_results << result
|
19
|
+
end
|
16
20
|
@context = @context_class.new(@test, @test.config, @result_callback)
|
17
21
|
end
|
18
22
|
subject{ @context }
|
@@ -32,9 +36,9 @@ class Assert::Context
|
|
32
36
|
should have_imeths :with_backtrace, :subject
|
33
37
|
|
34
38
|
def test_should_collect_context_info
|
35
|
-
|
36
|
-
assert_match /test\/unit\/context_tests.rb$/,
|
37
|
-
assert_equal self.class,
|
39
|
+
test = @__assert_running_test__
|
40
|
+
assert_match /test\/unit\/context_tests.rb$/, test.context_info.file
|
41
|
+
assert_equal self.class, test.context_info.klass
|
38
42
|
end
|
39
43
|
|
40
44
|
end
|
@@ -275,7 +279,7 @@ class Assert::Context
|
|
275
279
|
desc "with_backtrace method"
|
276
280
|
setup do
|
277
281
|
@from_bt = ['called_from_here']
|
278
|
-
@from_block = proc { ignore; fail; pass; skip 'todo' }
|
282
|
+
@from_block = proc { ignore; fail; pass; skip 'todo'; }
|
279
283
|
end
|
280
284
|
|
281
285
|
should "replace the fail results from the block with the given backtrace" do
|
@@ -283,11 +287,11 @@ class Assert::Context
|
|
283
287
|
begin
|
284
288
|
@context.with_backtrace(@from_bt, &@from_block)
|
285
289
|
rescue Assert::Result::TestSkipped => e
|
286
|
-
@
|
290
|
+
@test_results << Assert::Result::Skip.for_test(@test, e)
|
287
291
|
end
|
288
292
|
|
289
|
-
assert_equal 5, @
|
290
|
-
norm_fail, with_ignore, with_fail, with_pass, with_skip = @
|
293
|
+
assert_equal 5, @test_results.size
|
294
|
+
norm_fail, with_ignore, with_fail, with_pass, with_skip = @test_results
|
291
295
|
|
292
296
|
assert_not_equal @from_bt, norm_fail.backtrace
|
293
297
|
assert_equal @from_bt, with_ignore.backtrace
|
@@ -8,18 +8,11 @@ class Assert::DefaultSuite
|
|
8
8
|
class UnitTests < Assert::Context
|
9
9
|
desc "Assert::DefaultSuite"
|
10
10
|
setup do
|
11
|
+
ci = Factory.context_info(Factory.modes_off_context_class)
|
12
|
+
@test = Factory.test(Factory.string, ci){ }
|
13
|
+
|
11
14
|
@config = Factory.modes_off_config
|
12
15
|
@suite = Assert::DefaultSuite.new(@config)
|
13
|
-
|
14
|
-
ci = Factory.context_info(Factory.modes_off_context_class)
|
15
|
-
[ Factory.test("should nothing", ci){ },
|
16
|
-
Factory.test("should pass", ci){ assert(1==1); refute(1==0) },
|
17
|
-
Factory.test("should fail", ci){ ignore; assert(1==0); refute(1==1) },
|
18
|
-
Factory.test("should ignored", ci){ ignore },
|
19
|
-
Factory.test("should skip", ci){ skip; ignore; assert(1==1) },
|
20
|
-
Factory.test("should error", ci){ raise Exception; ignore; assert(1==1) }
|
21
|
-
].each{ |test| @suite.tests << test }
|
22
|
-
@suite.tests.each(&:run)
|
23
16
|
end
|
24
17
|
subject{ @suite }
|
25
18
|
|
@@ -27,46 +20,76 @@ class Assert::DefaultSuite
|
|
27
20
|
assert_kind_of Assert::Suite, subject
|
28
21
|
end
|
29
22
|
|
30
|
-
should "
|
31
|
-
assert_equal
|
32
|
-
|
33
|
-
|
34
|
-
assert_equal
|
35
|
-
assert_equal
|
36
|
-
|
37
|
-
|
38
|
-
assert_equal exp, subject.ordered_tests_by_run_time
|
39
|
-
|
40
|
-
assert_equal 8, subject.result_count
|
41
|
-
|
42
|
-
exp = subject.ordered_tests.inject([]){ |results, t| results += t.results }
|
43
|
-
assert_equal exp, subject.ordered_results
|
44
|
-
|
45
|
-
assert_equal 2, subject.result_count(:pass)
|
46
|
-
assert_equal 2, subject.result_count(:fail)
|
47
|
-
assert_equal 2, subject.result_count(:ignore)
|
48
|
-
assert_equal 1, subject.result_count(:skip)
|
49
|
-
assert_equal 1, subject.result_count(:error)
|
23
|
+
should "default its test/result counts" do
|
24
|
+
assert_equal 0, subject.test_count
|
25
|
+
assert_equal 0, subject.result_count
|
26
|
+
assert_equal 0, subject.pass_result_count
|
27
|
+
assert_equal 0, subject.fail_result_count
|
28
|
+
assert_equal 0, subject.error_result_count
|
29
|
+
assert_equal 0, subject.skip_result_count
|
30
|
+
assert_equal 0, subject.ignore_result_count
|
50
31
|
end
|
51
32
|
|
52
|
-
should "
|
53
|
-
|
54
|
-
assert_equal
|
33
|
+
should "increment its test count on `before_test`" do
|
34
|
+
subject.before_test(@test)
|
35
|
+
assert_equal 1, subject.test_count
|
36
|
+
end
|
55
37
|
|
56
|
-
|
57
|
-
|
38
|
+
should "increment its result counts on `on_result`" do
|
39
|
+
subject.on_result(Factory.pass_result)
|
40
|
+
assert_equal 1, subject.result_count
|
41
|
+
assert_equal 1, subject.pass_result_count
|
42
|
+
assert_equal 0, subject.fail_result_count
|
43
|
+
assert_equal 0, subject.error_result_count
|
44
|
+
assert_equal 0, subject.skip_result_count
|
45
|
+
assert_equal 0, subject.ignore_result_count
|
46
|
+
|
47
|
+
subject.on_result(Factory.fail_result)
|
48
|
+
assert_equal 2, subject.result_count
|
49
|
+
assert_equal 1, subject.pass_result_count
|
50
|
+
assert_equal 1, subject.fail_result_count
|
51
|
+
assert_equal 0, subject.error_result_count
|
52
|
+
assert_equal 0, subject.skip_result_count
|
53
|
+
assert_equal 0, subject.ignore_result_count
|
54
|
+
|
55
|
+
subject.on_result(Factory.error_result)
|
56
|
+
assert_equal 3, subject.result_count
|
57
|
+
assert_equal 1, subject.pass_result_count
|
58
|
+
assert_equal 1, subject.fail_result_count
|
59
|
+
assert_equal 1, subject.error_result_count
|
60
|
+
assert_equal 0, subject.skip_result_count
|
61
|
+
assert_equal 0, subject.ignore_result_count
|
62
|
+
|
63
|
+
subject.on_result(Factory.skip_result)
|
64
|
+
assert_equal 4, subject.result_count
|
65
|
+
assert_equal 1, subject.pass_result_count
|
66
|
+
assert_equal 1, subject.fail_result_count
|
67
|
+
assert_equal 1, subject.error_result_count
|
68
|
+
assert_equal 1, subject.skip_result_count
|
69
|
+
assert_equal 0, subject.ignore_result_count
|
70
|
+
|
71
|
+
subject.on_result(Factory.ignore_result)
|
72
|
+
assert_equal 5, subject.result_count
|
73
|
+
assert_equal 1, subject.pass_result_count
|
74
|
+
assert_equal 1, subject.fail_result_count
|
75
|
+
assert_equal 1, subject.error_result_count
|
76
|
+
assert_equal 1, subject.skip_result_count
|
77
|
+
assert_equal 1, subject.ignore_result_count
|
78
|
+
end
|
58
79
|
|
59
|
-
|
60
|
-
|
80
|
+
should "clear the run data on `on_start`" do
|
81
|
+
subject.before_test(@test)
|
82
|
+
subject.on_result(Factory.pass_result)
|
61
83
|
|
62
|
-
assert_equal
|
63
|
-
assert_equal
|
84
|
+
assert_equal 1, subject.test_count
|
85
|
+
assert_equal 1, subject.result_count
|
86
|
+
assert_equal 1, subject.pass_result_count
|
64
87
|
|
65
|
-
|
66
|
-
assert_equal subject.result_count(:skip), subject.count(:skip)
|
88
|
+
subject.on_start
|
67
89
|
|
68
|
-
assert_equal
|
69
|
-
assert_equal
|
90
|
+
assert_equal 0, subject.test_count
|
91
|
+
assert_equal 0, subject.result_count
|
92
|
+
assert_equal 0, subject.pass_result_count
|
70
93
|
end
|
71
94
|
|
72
95
|
end
|
@@ -14,7 +14,10 @@ class Assert::FileLine
|
|
14
14
|
should have_imeths :parse
|
15
15
|
|
16
16
|
should "know how to parse and init from a file line path string" do
|
17
|
-
file_line_path =
|
17
|
+
file_line_path = [
|
18
|
+
"#{@file}:#{@line}",
|
19
|
+
"#{@file}:#{@line} #{Factory.string}"
|
20
|
+
].sample
|
18
21
|
file_line = subject.parse(file_line_path)
|
19
22
|
|
20
23
|
assert_equal @file, file_line.file
|
data/test/unit/result_tests.rb
CHANGED
@@ -1,6 +1,8 @@
|
|
1
1
|
require 'assert'
|
2
2
|
require 'assert/result'
|
3
3
|
|
4
|
+
require 'assert/file_line'
|
5
|
+
|
4
6
|
module Assert::Result
|
5
7
|
|
6
8
|
class UnitTests < Assert::Context
|
@@ -38,24 +40,26 @@ module Assert::Result
|
|
38
40
|
desc "Base"
|
39
41
|
setup do
|
40
42
|
@given_data = {
|
41
|
-
:type
|
42
|
-
:name
|
43
|
-
:test_name
|
44
|
-
:
|
45
|
-
:message
|
46
|
-
:output
|
47
|
-
:backtrace
|
48
|
-
:trace
|
43
|
+
:type => Factory.string,
|
44
|
+
:name => Factory.string,
|
45
|
+
:test_name => Factory.string,
|
46
|
+
:test_file_line => Assert::FileLine.new(Factory.string, Factory.integer),
|
47
|
+
:message => Factory.string,
|
48
|
+
:output => Factory.text,
|
49
|
+
:backtrace => Backtrace.new(caller),
|
50
|
+
:trace => Factory.string
|
49
51
|
}
|
50
52
|
@result = Base.new(@given_data)
|
51
53
|
end
|
52
54
|
subject{ @result }
|
53
55
|
|
54
56
|
should have_cmeths :type, :name, :for_test
|
55
|
-
should have_imeths :type, :name, :test_name, :
|
57
|
+
should have_imeths :type, :name, :test_name, :test_file_line
|
58
|
+
should have_imeths :test_file_name, :test_line_num, :test_id
|
56
59
|
should have_imeths :message, :output, :backtrace, :trace
|
60
|
+
should have_imeths :file_line, :file_name, :line_num
|
57
61
|
should have_imeths *Assert::Result.types.keys.map{ |k| "#{k}?" }
|
58
|
-
should have_imeths :set_backtrace, :
|
62
|
+
should have_imeths :set_backtrace, :to_sym, :to_s
|
59
63
|
|
60
64
|
should "know its class-level type/name" do
|
61
65
|
assert_equal :unknown, subject.class.type
|
@@ -79,60 +83,78 @@ module Assert::Result
|
|
79
83
|
end
|
80
84
|
|
81
85
|
should "use any given attrs" do
|
82
|
-
assert_equal @given_data[:type].to_sym,
|
83
|
-
assert_equal @given_data[:name],
|
84
|
-
assert_equal @given_data[:test_name],
|
85
|
-
assert_equal @given_data[:
|
86
|
-
assert_equal @given_data[:message],
|
87
|
-
assert_equal @given_data[:output],
|
88
|
-
assert_equal @given_data[:backtrace],
|
89
|
-
assert_equal @given_data[:trace],
|
86
|
+
assert_equal @given_data[:type].to_sym, subject.type
|
87
|
+
assert_equal @given_data[:name], subject.name
|
88
|
+
assert_equal @given_data[:test_name], subject.test_name
|
89
|
+
assert_equal @given_data[:test_file_line], subject.test_file_line
|
90
|
+
assert_equal @given_data[:message], subject.message
|
91
|
+
assert_equal @given_data[:output], subject.output
|
92
|
+
assert_equal @given_data[:backtrace], subject.backtrace
|
93
|
+
assert_equal @given_data[:trace], subject.trace
|
90
94
|
end
|
91
95
|
|
92
96
|
should "default its attrs" do
|
93
97
|
result = Base.new({})
|
94
98
|
|
95
|
-
assert_equal :unknown,
|
96
|
-
assert_equal '',
|
97
|
-
assert_equal '',
|
98
|
-
assert_equal '',
|
99
|
-
assert_equal '',
|
100
|
-
assert_equal '',
|
101
|
-
assert_equal Backtrace.new([]),
|
102
|
-
assert_equal '',
|
99
|
+
assert_equal :unknown, result.type
|
100
|
+
assert_equal '', result.name
|
101
|
+
assert_equal '', result.test_name
|
102
|
+
assert_equal Assert::FileLine.parse(''), result.test_file_line
|
103
|
+
assert_equal '', result.message
|
104
|
+
assert_equal '', result.output
|
105
|
+
assert_equal Backtrace.new([]), result.backtrace
|
106
|
+
assert_equal '', result.trace
|
103
107
|
end
|
104
108
|
|
105
|
-
should "know
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
end
|
109
|
+
should "know its test file line attrs" do
|
110
|
+
exp = @given_data[:test_file_line]
|
111
|
+
assert_equal exp.file, subject.test_file_name
|
112
|
+
assert_equal exp.line.to_i, subject.test_line_num
|
113
|
+
assert_equal exp.to_s, subject.test_id
|
111
114
|
end
|
112
115
|
|
113
116
|
should "allow setting a new backtrace" do
|
114
117
|
new_bt = Factory.integer(3).times.map{ Factory.string }
|
115
118
|
exp_backtrace = Backtrace.new(new_bt)
|
116
119
|
exp_trace = exp_backtrace.filtered.first.to_s
|
117
|
-
|
118
120
|
subject.set_backtrace(new_bt)
|
121
|
+
assert_equal exp_backtrace, subject.backtrace
|
122
|
+
assert_equal exp_trace, subject.trace
|
119
123
|
|
124
|
+
# test that the first bt line is used if filtered is empty
|
125
|
+
assert_lib_path = File.join(ROOT_PATH, "lib/#{Factory.string}:#{Factory.integer}")
|
126
|
+
new_bt = Factory.integer(3).times.map{ assert_lib_path }
|
127
|
+
exp_backtrace = Backtrace.new(new_bt)
|
128
|
+
exp_trace = exp_backtrace.first.to_s
|
129
|
+
subject.set_backtrace(new_bt)
|
120
130
|
assert_equal exp_backtrace, subject.backtrace
|
121
131
|
assert_equal exp_trace, subject.trace
|
122
132
|
end
|
123
133
|
|
124
|
-
should "know its
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
}
|
135
|
-
|
134
|
+
should "know its file line attrs" do
|
135
|
+
new_bt = Factory.integer(3).times.map{ Factory.string }
|
136
|
+
subject.set_backtrace(new_bt)
|
137
|
+
exp = Assert::FileLine.parse(subject.backtrace.filtered.first.to_s)
|
138
|
+
assert_equal exp, subject.file_line
|
139
|
+
assert_equal exp.file, subject.file_name
|
140
|
+
assert_equal exp.line.to_i, subject.line_num
|
141
|
+
|
142
|
+
# test that the first bt line is used if filtered is empty
|
143
|
+
assert_lib_path = File.join(ROOT_PATH, "lib/#{Factory.string}:#{Factory.integer}")
|
144
|
+
new_bt = Factory.integer(3).times.map{ assert_lib_path }
|
145
|
+
subject.set_backtrace(new_bt)
|
146
|
+
exp = Assert::FileLine.parse(subject.backtrace.first.to_s)
|
147
|
+
assert_equal exp, subject.file_line
|
148
|
+
assert_equal exp.file, subject.file_name
|
149
|
+
assert_equal exp.line.to_i, subject.line_num
|
150
|
+
end
|
151
|
+
|
152
|
+
should "know if it is a certain type of result" do
|
153
|
+
Assert::Result.types.keys.each do |type|
|
154
|
+
assert_false subject.send("#{type}?")
|
155
|
+
Assert.stub(subject, :type){ type }
|
156
|
+
assert_true subject.send("#{type}?")
|
157
|
+
end
|
136
158
|
end
|
137
159
|
|
138
160
|
should "know its symbol representation" do
|
@@ -164,8 +186,10 @@ module Assert::Result
|
|
164
186
|
end
|
165
187
|
|
166
188
|
should "show only its class and message when inspected" do
|
167
|
-
exp = "#<#{subject.class}:#{'0x0%x' % (subject.object_id << 1)}"\
|
168
|
-
"
|
189
|
+
exp = "#<#{subject.class}:#{'0x0%x' % (subject.object_id << 1)} "\
|
190
|
+
"@message=#{subject.message.inspect} "\
|
191
|
+
"@file_line=#{subject.file_line.to_s.inspect} "\
|
192
|
+
"@test_file_line=#{subject.test_file_line.to_s.inspect}>"
|
169
193
|
assert_equal exp, subject.inspect
|
170
194
|
end
|
171
195
|
|
data/test/unit/runner_tests.rb
CHANGED
@@ -52,10 +52,6 @@ class Assert::Runner
|
|
52
52
|
callback_mixin = Module.new
|
53
53
|
@runner_class = Class.new(Assert::Runner) do
|
54
54
|
include CallbackMixin
|
55
|
-
|
56
|
-
def run!(&block)
|
57
|
-
self.suite.tests.each(&block)
|
58
|
-
end
|
59
55
|
end
|
60
56
|
suite_class = Class.new(Assert::DefaultSuite){ include CallbackMixin }
|
61
57
|
view_class = Class.new(Assert::View){ include CallbackMixin }
|
@@ -67,14 +63,24 @@ class Assert::Runner
|
|
67
63
|
|
68
64
|
@ci = Factory.context_info(Factory.modes_off_context_class)
|
69
65
|
@test = Factory.test("should pass", @ci){ assert(1==1) }
|
70
|
-
@config.suite.
|
66
|
+
@config.suite.on_test(@test)
|
71
67
|
|
72
68
|
@runner = @runner_class.new(@config)
|
73
69
|
@result = @runner.run
|
74
70
|
end
|
75
71
|
|
76
|
-
should "return an integer exit code" do
|
72
|
+
should "return the fail+error result count as an integer exit code" do
|
77
73
|
assert_equal 0, @result
|
74
|
+
|
75
|
+
fail_count = Factory.integer
|
76
|
+
error_count = Factory.integer
|
77
|
+
Assert.stub(subject, :fail_result_count){ fail_count }
|
78
|
+
Assert.stub(subject, :error_result_count){ error_count }
|
79
|
+
Assert.stub(@test, :run){ } # no-op
|
80
|
+
result = @runner.run
|
81
|
+
|
82
|
+
exp = fail_count + error_count
|
83
|
+
assert_equal exp, result
|
78
84
|
end
|
79
85
|
|
80
86
|
should "run all callbacks on itself, the suite and the view" do
|
@@ -102,34 +108,46 @@ class Assert::Runner
|
|
102
108
|
assert_true view.on_finish_called
|
103
109
|
end
|
104
110
|
|
105
|
-
should "
|
111
|
+
should "describe running the tests in random order if there are tests" do
|
106
112
|
exp = "Running tests in random order, " \
|
107
113
|
"seeded with \"#{subject.runner_seed}\"\n"
|
108
114
|
assert_includes exp, @view_output
|
109
115
|
|
110
116
|
@view_output.gsub!(/./, '')
|
111
|
-
@config.suite.
|
117
|
+
@config.suite.clear_tests_to_run
|
112
118
|
subject.run
|
113
119
|
assert_not_includes exp, @view_output
|
114
120
|
end
|
115
121
|
|
116
122
|
should "run only a single test if a single test is configured" do
|
117
|
-
|
118
|
-
@config.suite.
|
123
|
+
test = Factory.test("should pass", @ci){ assert(1==1) }
|
124
|
+
@config.suite.clear_tests_to_run
|
125
|
+
@config.suite.on_test(test)
|
126
|
+
@config.single_test test.file_line.to_s
|
119
127
|
|
120
|
-
@
|
128
|
+
runner = @runner_class.new(@config).tap(&:run)
|
129
|
+
assert_equal [test], runner.before_test_called
|
130
|
+
end
|
131
|
+
|
132
|
+
should "not run any tests if a single test is configured but can't be found" do
|
133
|
+
test = Factory.test("should pass", @ci){ assert(1==1) }
|
134
|
+
@config.suite.clear_tests_to_run
|
135
|
+
@config.suite.on_test(test)
|
136
|
+
@config.single_test Factory.string
|
121
137
|
|
122
|
-
runner = @runner_class.new(@config)
|
123
|
-
runner.
|
124
|
-
assert_equal [@test], runner.before_test_called
|
138
|
+
runner = @runner_class.new(@config).tap(&:run)
|
139
|
+
assert_nil runner.before_test_called
|
125
140
|
end
|
126
141
|
|
127
|
-
should "
|
142
|
+
should "describe running only a single test if a single test is configured" do
|
143
|
+
@config.suite.clear_tests_to_run
|
144
|
+
@config.suite.on_test(@test)
|
128
145
|
@config.single_test @test.file_line.to_s
|
129
146
|
@view_output.gsub!(/./, '')
|
130
147
|
subject.run
|
131
148
|
|
132
|
-
exp = "Running test: #{subject.single_test_file_line}\
|
149
|
+
exp = "Running test: #{subject.single_test_file_line}, " \
|
150
|
+
"seeded with \"#{subject.runner_seed}\"\n"
|
133
151
|
assert_includes exp, @view_output
|
134
152
|
end
|
135
153
|
|