Ruby现在可以在打印方法上进行单元测试

时间:2014-12-28 22:08:27

标签: ruby unit-testing

如何在以下打印方法call get_list()上完成单元测试?

使用assert_equal("["apple", "orange", "pear"]",@list.get_list()),结果为nil。

@list = ["apple", "orange", "pear"] 

def get_list()
   i = 0
   while (i < list.size())
      puts list[i]
      i = i + 1
   end
end 

请有人给我小费

1 个答案:

答案 0 :(得分:1)

Kernel#puts总是返回nil。您可能希望使用Kernel#p代替。例如:

@list = %w[apple orange pear]
def get_list
  @list.each { |item| p item }
end

根据您认为#get_list应该返回的内容,您可能需要进一步重构该方法。只要确保你明确地或隐含地返回nil以外的东西。