【问题标题】:How to write unit test when expect very long当期望很长时如何编写单元测试
【发布时间】:2015-02-18 02:36:06
【问题描述】:

我认为预期结果是一个硬代码,但我在测试中的预期结果非常长且重复的模式。我有同样的情况,大约有 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);
}

【问题讨论】:

    标签: php unit-testing testing


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2012-05-25
      • 1970-01-01
      • 2012-02-03
      • 2019-01-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多