Rspec在一个简单的脚本中测试一个方法

时间:2016-04-15 03:57:00

标签: ruby rspec

对某人来说肯定是一个非常简单的问题,但我无法弄清楚如何在一个简单的Ruby脚本中测试一个方法,该脚本有方法但没有类。

一种非常简单的方法:

def s2hm(s)
  "%sh %sm" % [s / 3600, s / 60 % 60].map { |t| t.to_s }
end

由于它只是一个简单的脚本,我没有任何类,所有文档似乎只讨论使用Rspec来测试单元测试类。

所以在Rspec中,我可能会有类似的东西:

describe '#s2hm' do
  it 'should convert seconds to hours and minutes' do
    ... # what goes here
  end
end

有人可以建议我如何完成描述块吗?

1 个答案:

答案 0 :(得分:1)

对于其他任何与此类事情挣扎的人,我使用以下方式开始工作:

describe '#s2hm' do
  it 'should convert seconds to hours and minutes' do
    expect(s2hm(7320)).to eq '2h 2m'
  end

  it 'should convert seconds to hours and minutes' do
    expect(s2hm(7200)).to eq '2h 0m'
  end

  it 'should convert seconds to hours and minutes' do
    expect(s2hm(12345678)).to eq '3429h 21m'
  end
end