8

我有 phpunit 3.7

官方公告提到了一些新的注解(以及重新引入了一个以前不推荐使用的旧注解),但没有提到删除@assert. 在3.7 的更新日志中。,@assert在页面上找不到

当我使用代码片段在一个类上运行我的代码时

<?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)
4

1 回答 1

5

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

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

此时,有两个令人困惑的问题:

  1. 从 phpunit“核心”中删除 @assert 注释
  2. 文档未正确更新

变更日志不准确。它说(错误地):

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

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

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

也许我会通过 github 自己更改它并通知维护人员。

于 2012-09-28T14:10:24.290 回答