我在要测试的控制器中有一些业务逻辑,其中涉及将两个值设置为今天的日期和昨天的日期。
最初我有一个通过测试,基本上看起来像这样;
控制器:
def wibble
@start_time = Date.yesterday
end
测试:
it 'blah blah'
get :wibble
assigns(:start_date).should eq(Date.yesterday)
end
但是添加了一个新要求,这意味着日期应该是 i18n'd,这意味着控制器正在返回不同的东西。
我的想法
我曾考虑过模拟变量,因为我只关心它们是否设置为某些东西,但是今天和昨天的业务逻辑没有被执行。
我也考虑过在测试中强制 i18n,但这似乎很脆弱。
任何人都可以提出一个测试这个的好方法吗?