PHPUnit的3.7:发生了什么事@assert标注?(phpunit 3.7: what hap

2019-09-23 02:42发布

我已经PHPUnit的3.7

  • 在的文档3.6,附录B,有一个@assert注释,而
  • 在文档3.7,附录B, 没有 @assert注解

该官方声明中提到了一些新的注解(和重新引入一个老之前已停用的),但它没有提及去除@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)

Answer 1:

做一些研究后回答我的问题。 多亏了评论者对把我的轨道上。

注释消失了,因为它已经被移动到可选 PHPUnit_SkeletonGenerator包。

这时,有与这两困惑的问题:

  1. 从PHPUnit的“核心”去除@assert标注的
  2. 而没有更新的文档正确

更改日志是不精确的。 它说(错误地):

除去弃用--skeleton级和--skeleton测试开关。 的功能现在由PHPUnit_SkeletonGenerator封装的phpunit- 的skel命令提供。

他说,这将听起来更像这更好的办法:

除去弃用--skeleton级和--skeleton测试开关。 的功能现在由PHPUnit_SkeletonGenerator包的任选phpunit- skelgen命令提供。 因此,@assert标注已经从PHPUnit的核心去除。 它成为通过PEAR安装PHPUnit_SkeletonGenerator后可用。

也许我会通过这GitHub的改变自己,并通知维护人员。



文章来源: phpunit 3.7: what happened to the @assert annotation?
标签: php phpunit