我有红宝石课:
class Sample
def main
zipcode = gets.chomp
if correct_length?(zipcode)
end
end
def correct_length?(string)
true if string.size == 5
end
end
instance = Sample.new
instance.main
并测试它:
require_relative 'sample'
require 'test/unit'
class TestSample < Test::Unit::TestCase
def test_correct_length?
zipcode = '10234'
assert_equal(true, Sample.new.correct_length?(zipcode))
end
end
我想测试 correct_length?方法。当我运行测试时,我必须在测试开始前输入一些字符。我应该如何重写这个例子来测试一个方法(不运行 gets.chomp )
答案 0 :(得分:2)
围绕使用main
致电if __FILE__ == $0 ... end
的部分;如果运行test,则在执行部件时如果脚本作为入口点执行,则不会执行该部件。
if __FILE__ == $0
instance = Sample.new
instance.main
end