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
Constant Summary collapse
- VERSION =
File.read(File.dirname(__FILE__) + "/../VERSION")
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
45 46 47 48 49 50 51 52 53 54 55 56 57 |
# File 'lib/etest.rb', line 45 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
41 42 43 |
# File 'lib/etest.rb', line 41 def self.autorun auto_run end |
.run(*etests) ⇒ Object
59 60 61 62 63 64 65 66 67 68 |
# File 'lib/etest.rb', line 59 def self.run(*etests) dlog "Running", etests # # convert all Etest modules into a test case test_cases = etests.map { |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
72 73 74 75 76 77 78 79 80 81 |
# File 'lib/etest.rb', line 72 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 |