如果期望很长时间如何编写单元测试

时间:2015-02-18 02:36:06

标签: php unit-testing testing

我认为预期的结果是一个硬代码,但我在测试中的预期结果是非常长且重复的模式。关于3个案例我也有同样的案例。

我应该在此之后写下这个预期的结果:

public function testConvertTargetByWeek()
{
   $revenue = 100;
   $week = 50;

   $revenueByWeeks = convertRevenueByWeek($revenue, $week);

   $expects = array(
     1 => 2,
     2 => 4,
     ...
     50 => 100,
   );

   $this->assertEquals($expects, $revenueByWeeks);
}

public function testConvertTargetByWeek()
{
   $revenue = 100;
   $week = 50;

   $revenueByWeeks = convertRevenueByWeek($revenue, $week);

   for(range(1, 50) as $_week)
   {
      $expect[$week] = $revenue * ($_week / $week);
   }

   $this->assertEquals($expects, $revenueByWeeks);
}

1 个答案:

答案 0 :(得分:0)

如果它们相同,那么您可以将它们作为测试类的属性拉出来。我不一定认为将大值作为您的预期值会有任何问题,因为在某些情况下它可能是必要的(测试控制器的响应等),但您也可以进一步打破测试并进行单独测试测试大响应的某些子部分是否与模式匹配。

相关问题