1

我在要测试的控制器中有一些业务逻辑,其中涉及将两个值设置为今天的日期和昨天的日期。

最初我有一个通过测试,基本上看起来像这样;

控制器:

def wibble
  @start_time = Date.yesterday
end

测试:

it 'blah blah'
  get :wibble
  assigns(:start_date).should eq(Date.yesterday)
end

但是添加了一个新要求,这意味着日期应该是 i18n'd,这意味着控制器正在返回不同的东西。

我的想法

我曾考虑过模拟变量,因为我只关心它们是否设置为某些东西,但是今天和昨天的业务逻辑没有被执行。

我也考虑过在测试中强制 i18n,但这似乎很脆弱。

任何人都可以提出一个测试这个的好方法吗?

4

0 回答 0