phpunit 3.7:@assert注释发生了什么?

时间:2012-09-27 09:49:58

标签: php phpunit

我有phpunit 3.7

official announcement提到了一些新的注释(并重新引入了之前弃用的旧注释),但没有提及删除@assert。 在changelog for 3.7.中,在页面上找不到@assert

当我使用code snippet

在类上运行代码时
<?php
class MyMathClass
{
   /**
    * Add two given values together and return sum
    * @assert (1,2) == 3
    */
   public function addValues($a,$b)
   {
       return $a+$b;
   }
}

输出

PHPUnit 3.7.1 by Sebastian Bergmann.



Time: 1 second, Memory: 4.25Mb

No tests executed!

使用php 3.6.2

 phpunit MyMathClass.php
PHPUnit 3.6.12 by Sebastian Bergmann.

.

Time: 0 seconds, Memory: 2.75Mb

OK (1 test, 1 assertion)

1 个答案:

答案 0 :(得分:5)

做了一些研究后回答我自己的问题。感谢评论者让我走上正轨。

注释已消失,因为它已移至可选 PHPUnit_SkeletonGenerator包。

目前,这有两个令人困惑的问题:

  1. 从phpunit“core”中删除@assert注释
  2. 文档未正确更新
  3. 更改日志不准确。它说(错误地):

      

    删除了已弃用的--skeleton-class和--skeleton-test开关。该   功能现在由phpunit- skel 命令提供   PHPUnit_SkeletonGenerator包。

    更好的说法听起来更像这样:

      

    删除了已弃用的--skeleton-class和--skeleton-test开关。该   功能现在由可选的phpunit- skelgen 提供   PHPUnit_SkeletonGenerator包的命令。   因此,@ php数注释已从phpunit核心中删除。   它通过PEAR安装PHPUnit_SkeletonGenerator后可用。

    也许我会通过github自行更改并通知维护者。