我有一个问题,我在验证当前时间是否已插入到html中(用于使用javascript进行time_ago
种类)。
当前的unix时间(epoch)在给定的html元素的数据数据属性中呈现,在这种情况下是这样的:
<a href="/somewhere" data-last-points-awarded-at="1331606458">Something Happend</a>
但是当我的测试运行时:
recipe = Factory(:recipe, name: "Apple Pie", user: @user)
visit some_path
time_in_layout = find('a[data-last-points-awarded-at]')['data-last-points-awarded-at']
current_time = Proc.new { Time.now }.call.to_i.to_s
time_in_layout.should eql(current_time)
运行我的测试后,它失败了...但只是勉强:
Failure/Error: time_in_layout.should eql(current_time)
expected: "1331606459"
got: "1331606458"
(compared using eql?)
一切都很好,测试几乎就是我真正希望它工作的方式,然而,proc返回的时间是一秒钟之后,我该如何解决这个问题呢?就像我如何在测试开始时锁定时间一样,我甚至可以做这样的事情吗?