Class: Thoreau::Model::TestSuite
- Inherits:
-
Object
- Object
- Thoreau::Model::TestSuite
- Defined in:
- lib/thoreau/model/test_suite.rb
Constant Summary collapse
- @@suites =
[]
Class Method Summary collapse
Instance Method Summary collapse
- #build_and_run ⇒ Object
- #focused? ⇒ Boolean
-
#initialize(data:, focus:) ⇒ TestSuite
constructor
A new instance of TestSuite.
Constructor Details
#initialize(data:, focus:) ⇒ TestSuite
Returns a new instance of TestSuite.
12 13 14 15 16 17 18 19 |
# File 'lib/thoreau/model/test_suite.rb', line 12 def initialize(data:, focus:) @data = data @focus = focus @@suites << self # @builder = Thoreau::Case::CaseBuilder.new test_clan: @data.test_clan @builder = Thoreau::Case::MultiClanCaseBuilder.new test_clans: @data.test_clans end |
Class Method Details
.run_all! ⇒ Object
37 38 39 40 41 42 43 44 45 46 47 |
# File 'lib/thoreau/model/test_suite.rb', line 37 def self.run_all! logger.debug("# run_all! ############") run_all = !@@suites.any?(&:focused?) @@suites.each do |suite| if suite.focused? || run_all suite.build_and_run else logger.info(" Suite '#{suite.name}' skipped (unfocused)") end end end |
Instance Method Details
#build_and_run ⇒ Object
23 24 25 26 27 28 29 30 31 |
# File 'lib/thoreau/model/test_suite.rb', line 23 def build_and_run logger.debug("## build_and_run") cases = @builder.build_test_cases! logger.debug(" ... built #{cases.size} cases") runner = Thoreau::Case::SuiteRunner.new @data.name runner.run_test_cases! cases, @builder.skipped_count # for reporting end |
#focused? ⇒ Boolean
33 34 35 |
# File 'lib/thoreau/model/test_suite.rb', line 33 def focused? @focus || @builder.any_focused? end |