php 致命错误 UserTest setUp 函数的声明

sha*_*awn 3 php phpunit fatal-error

我必须使用下面给出的 setUp 函数进行 PHPUnit 测试:

use PHPUnit\Framework\TestCase;

class UserTest extends TestCase
{
    public function setUp()
    {
       var_dump('1');
    }
}
Run Code Online (Sandbox Code Playgroud)

当我运行此测试时,它会显示以下错误:

PHP Fatal error:  Declaration of UserTest::setUp() must be compatible with PHPUnit\Framework\TestCase::setUp(): void
Run Code Online (Sandbox Code Playgroud)

我该如何解决?

sha*_*awn 9

我通过使用如下所示的 void 方法快速修复了此错误:

 public function setUp(): void
 {
    var_dump('1');
 }
Run Code Online (Sandbox Code Playgroud)


Seb*_*ann 6

您需要将模板方法的返回类型声明setUp():void. 此处此处对此进行了解释。

  • 然后不要使用`setUp()`和`tearDown()`,而是以不同的方式命名你的方法,并分别用`@before`和`@after`注释它们。 (2认同)