Module: Etest
- Defined in:
- lib/etest.rb,
lib/etest.rb
Overview
Embedded test cases:
The Etest module contains methods to run etests.
Defined Under Namespace
Modules: Assertions, ComparisonAssertions Classes: TestCase
Class Method Summary collapse
- .auto_run ⇒ Object
- .autorun ⇒ Object
- .run(*etests) ⇒ Object
-
.to_test_case(mod) ⇒ Object
convert an Etest moodule into a MiniTest testcase.
Class Method Details
.auto_run ⇒ Object
60 61 62 63 64 65 66 67 68 69 70 71 72 |
# File 'lib/etest.rb', line 60 def self.auto_run # # find all modules that are not named /::Etest$/, and try to load # the respective Etest module. etests = Module.instances.map { |mod| #next if mod.name =~ /\bEtest$/ next if mod.name == "Object" Module.by_name "#{mod.name}::Etest" }.compact.uniq.sort_by(&:name) run(*etests) end |
.autorun ⇒ Object
56 57 58 |
# File 'lib/etest.rb', line 56 def self.autorun auto_run end |
.run(*etests) ⇒ Object
74 75 76 77 78 79 80 81 82 83 |
# File 'lib/etest.rb', line 74 def self.run(*etests) # # convert all Etest modules into a test case test_cases = etests.map { |etest| dlog "Running", etest to_test_case etest } MiniTest::Unit::TestCase.run_etests(*test_cases) end |
.to_test_case(mod) ⇒ Object
convert an Etest moodule into a MiniTest testcase
87 88 89 90 91 92 93 94 95 96 |
# File 'lib/etest.rb', line 87 def self.to_test_case(mod) klass = Class.new TestCase klass.send :include, mod klass.send :include, Assertions Kernel.silent do mod.const_set("TestCase", klass) end klass end |