2012-11-05 59 views
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部分添加到测试?

我回形针源代码中看到,他们似乎把它定义like this

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(在这种情况下)。

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

回答

2

它不好比较?1352140343部分的网址。

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

+0

谢谢!这解决了我的问题。 – jrg