0

我正在使用Test::Unit,我想测试一个回形针网址。

现在,我有一个看起来像这样的测试:

  def test_our_custom_url
    dummy = Dummy.new(:image => File.open("#{RAILS_ROOT}/test/fixtures/12k.png"))
    dummy.save!
    assert_match "/system/images/1/original/12k.png", dummy.image.url
    dummy.reload
    assert_match "/system/images/1/original/12k.png", dummy.image.url
  end

它像这样失败:

Expected /\/system\/images\/1\/original\/12k.png/ to match "/system/dummies/images/000/000/001/original/12k.png?1352140343".

如何将?1352140343零件添加到测试中?

我在回形针源代码中看到他们似乎是这样定义

def timestamp_as_needed(url, options)
  if options[:timestamp] && timestamp_possible?
    delimiter_char = url.match(/\?.+=/) ? '&' : '?'
    "#{url}#{delimiter_char}#{@attachment.updated_at.to_s}"
  else
    url
  end
end

但是这样做会dummy.updated_at.to_s返回正常的日期/时间戳,而不是1352140343(在这种情况下)。

我正在使用本地存储,如果它有所作为。

4

1 回答 1

2

?1352140343比较url的部分不好。

你可以比较你received_url.starts_with?(expected_url)只检查字符串的那部分......

于 2012-11-05T19:23:03.270 回答