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
57 58 59 60 61 62 63 64 65 66 67 68 69 |
# File 'lib/etest.rb', line 57 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
53 54 55 |
# File 'lib/etest.rb', line 53 def self.autorun auto_run end |
.run(*etests) ⇒ Object
71 72 73 74 75 76 77 78 79 80 |
# File 'lib/etest.rb', line 71 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
84 85 86 87 88 89 90 91 92 93 |
# File 'lib/etest.rb', line 84 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 |