Class: Assert::Suite
Overview
This is the base suite. It loads the tests to run in memory and provides methods for these tests that the runner/view uses for handling and presentation purposes. It also stores suite-level setups and teardowns. Override the test/result count methods and the callbacks as needed. See the default suite for example usage.
Constant Summary
collapse
- TEST_METHOD_REGEX =
/^test./.freeze
Instance Attribute Summary collapse
Instance Method Summary
collapse
#all_pass?, #formatted_result_rate, #formatted_run_time, #formatted_suite_result_rate, #formatted_suite_run_time, #formatted_suite_test_rate, #formatted_test_rate, #ocurring_result_types, #runner, #runner_seed, #show_test_profile_info?, #show_test_verbose_info?, #single_test?, #single_test_file_line, #view
Constructor Details
#initialize(config) ⇒ Suite
Returns a new instance of Suite.
23
24
25
26
27
28
29
30
31
|
# File 'lib/assert/suite.rb', line 23
def initialize(config)
@config = config
@tests = []
@test_methods = []
@setups = []
@teardowns = []
@start_time = Time.now
@end_time = @start_time
end
|
Instance Attribute Details
#config ⇒ Object
A suite is a set of tests to run. When a test class subclasses the Context class, that test class is pushed to the suite.
20
21
22
|
# File 'lib/assert/suite.rb', line 20
def config
@config
end
|
#end_time ⇒ Object
Returns the value of attribute end_time.
21
22
23
|
# File 'lib/assert/suite.rb', line 21
def end_time
@end_time
end
|
#setups ⇒ Object
A suite is a set of tests to run. When a test class subclasses the Context class, that test class is pushed to the suite.
20
21
22
|
# File 'lib/assert/suite.rb', line 20
def setups
@setups
end
|
#start_time ⇒ Object
Returns the value of attribute start_time.
21
22
23
|
# File 'lib/assert/suite.rb', line 21
def start_time
@start_time
end
|
#teardowns ⇒ Object
A suite is a set of tests to run. When a test class subclasses the Context class, that test class is pushed to the suite.
20
21
22
|
# File 'lib/assert/suite.rb', line 20
def teardowns
@teardowns
end
|
#test_methods ⇒ Object
A suite is a set of tests to run. When a test class subclasses the Context class, that test class is pushed to the suite.
20
21
22
|
# File 'lib/assert/suite.rb', line 20
def test_methods
@test_methods
end
|
Instance Method Details
#after_load ⇒ Object
90
|
# File 'lib/assert/suite.rb', line 90
def after_load; end
|
#after_test(test) ⇒ Object
94
|
# File 'lib/assert/suite.rb', line 94
def after_test(test); end
|
#before_load(test_files) ⇒ Object
define callback handlers to do special behavior during the test run. These will be called by the test runner
82
|
# File 'lib/assert/suite.rb', line 82
def before_load(test_files); end
|
#before_test(test) ⇒ Object
92
|
# File 'lib/assert/suite.rb', line 92
def before_test(test); end
|
#clear_tests_to_run ⇒ Object
47
|
# File 'lib/assert/suite.rb', line 47
def clear_tests_to_run; @tests.clear; end
|
#error_result_count ⇒ Object
61
|
# File 'lib/assert/suite.rb', line 61
def error_result_count; end
|
#fail_result_count ⇒ Object
60
|
# File 'lib/assert/suite.rb', line 60
def fail_result_count; end
|
#find_test_to_run(file_line) ⇒ Object
49
50
51
|
# File 'lib/assert/suite.rb', line 49
def find_test_to_run(file_line)
@tests.find{ |t| t.file_line == file_line }
end
|
#ignore_result_count ⇒ Object
63
|
# File 'lib/assert/suite.rb', line 63
def ignore_result_count; end
|
#inspect ⇒ Object
99
100
101
102
103
|
# File 'lib/assert/suite.rb', line 99
def inspect
"#<#{self.class}:#{'0x0%x' % (object_id << 1)}"\
" test_count=#{self.test_count.inspect}"\
" result_count=#{self.result_count.inspect}>"
end
|
#on_finish ⇒ Object
95
|
# File 'lib/assert/suite.rb', line 95
def on_finish; end
|
#on_info(test) ⇒ Object
96
|
# File 'lib/assert/suite.rb', line 96
def on_info(test); end
|
#on_interrupt(err) ⇒ Object
97
|
# File 'lib/assert/suite.rb', line 97
def on_interrupt(err); end
|
#on_result(result) ⇒ Object
93
|
# File 'lib/assert/suite.rb', line 93
def on_result(result); end
|
#on_start ⇒ Object
91
|
# File 'lib/assert/suite.rb', line 91
def on_start; end
|
#on_test(test) ⇒ Object
this is required to load tests into the suite, be sure to ‘super` if you override this method
86
87
88
|
# File 'lib/assert/suite.rb', line 86
def on_test(test)
@tests << test
end
|
#pass_result_count ⇒ Object
59
|
# File 'lib/assert/suite.rb', line 59
def pass_result_count; end
|
#result_count ⇒ Object
58
|
# File 'lib/assert/suite.rb', line 58
def result_count; end
|
#result_rate ⇒ Object
73
74
75
|
# File 'lib/assert/suite.rb', line 73
def result_rate
get_rate(self.result_count, self.run_time)
end
|
#run_time ⇒ Object
65
66
67
|
# File 'lib/assert/suite.rb', line 65
def run_time
@end_time - @start_time
end
|
#setup(&block) ⇒ Object
Also known as:
startup
35
36
37
|
# File 'lib/assert/suite.rb', line 35
def setup(&block)
self.setups << (block || proc{})
end
|
#skip_result_count ⇒ Object
62
|
# File 'lib/assert/suite.rb', line 62
def skip_result_count; end
|
#sorted_tests_to_run(&sort_by_proc) ⇒ Object
53
54
55
|
# File 'lib/assert/suite.rb', line 53
def sorted_tests_to_run(&sort_by_proc)
@tests.sort.sort_by(&sort_by_proc)
end
|
#suite ⇒ Object
33
|
# File 'lib/assert/suite.rb', line 33
def suite; self; end
|
#teardown(&block) ⇒ Object
Also known as:
shutdown
40
41
42
|
# File 'lib/assert/suite.rb', line 40
def teardown(&block)
self.teardowns << (block || proc{})
end
|
#test_count ⇒ Object
57
|
# File 'lib/assert/suite.rb', line 57
def test_count; end
|
#test_rate ⇒ Object
69
70
71
|
# File 'lib/assert/suite.rb', line 69
def test_rate
get_rate(self.test_count, self.run_time)
end
|
#tests_to_run? ⇒ Boolean
45
|
# File 'lib/assert/suite.rb', line 45
def tests_to_run?; @tests.size > 0; end
|
#tests_to_run_count ⇒ Object
46
|
# File 'lib/assert/suite.rb', line 46
def tests_to_run_count; @tests.size; end
|