我正在尝试将一个模块的单元测试包含在与模块本身相同的源文件中,遵循 Perl modulino 模型。
#! /usr/bin/env ruby
require 'test/unit'
module Modulino
def modulino_function
return 0
end
end
class ModulinoTest < Test::Unit::TestCase
include Modulino
def test_modulino_function
assert_equal(0, modulino_function)
end
end
现在,我可以运行该源文件以执行单元测试。
但是,当我从另一个脚本中require/load它们时,它们也会被运行。如何避免这种情况?
除非不建议这种做法,否则是否有更符合Ruby习惯的方法来实现这一点?
require 'test/unit'
和测试用例定义放在 if 语句内部,这样它们只会在当前文件被执行时运行。 - BaroqueBobcattest/unit
成为一个依赖项。 - samg