1
我有Ruby類:紅寶石單元測試(gets.chomp)
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)
將您的方法名更改爲'_main',以避免未來的衝突可能會在頂級'self'。 –
只是爲了我的理解:當你運行測試時,你必須先插入任何郵編?如果是這樣的話:將執行部分移動到另一個ruby文件中,在測試過程中您不需要這些文件。如果我沒有弄錯,他們在require_relative期間執行 - 那麼就像你已經在做的那樣寫測試 –
@TobiasSchoknecht我不想用方法拆分文件。 Falsetru anwser是正確的。 – trojek