测试用例添加 setUp()方法之后执行错误?

ProductTest文件

<?php

namespace Tests\Unit;

use Tests\TestCase;
use Illuminate\Foundation\Testing\WithFaker;
use Illuminate\Foundation\Testing\RefreshDatabase;
use App\Product;

class ProductTest extends TestCase
{
    public $product;

    public function setUp()
    {
        parent::setUp();
        $this->product = new Product('xiaocai', 59);
    }
    /**
     * A basic unit test example.
     *
     * @return void
     */
    public function testName()
    {
        $this->assertEquals('xiaocai', $this->product->name());
    }

    public function testPrice()
    {
        $this->assertEquals(59, $this->product->price());
    }
}

执行./vendor/bin/phpunit --filter ProductTest之后出现如下错误

$ ./vendor/bin/phpunit --filter ProductTest
PHP Fatal error:  Declaration of Tests\Unit\ProductTest::setUp() must be compatible with Illuminate\Foundation\Testing\TestCase::setUp(): void in D:\study\XAMPP\htdocs\laravel-phpunit\tests\Unit\ProductTest.php on line 33

Fatal error: Declaration of Tests\Unit\ProductTest::setUp() must be compatible with Illuminate\Foundation\Testing\TestCase::setUp(): void in D:\study\XAMPP\htdocs\laravel-phpunit\tests\Unit\ProductTest.php on line 33
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
Shuyi
最佳答案

哦,你用的5.8啊,5.8要求setUp tearDown的返回类型为void

  public function setUp() :void
    {
        parent::setUp();
        $this->product = new Product('xiaocai', 59);
    }
4年前 评论
Shuyi (作者) 4年前
讨论数量: 4
Shuyi

哦,你用的5.8啊,5.8要求setUp tearDown的返回类型为void

  public function setUp() :void
    {
        parent::setUp();
        $this->product = new Product('xiaocai', 59);
    }
4年前 评论
Shuyi (作者) 4年前
Shuyi

哦,你用的5.8啊,5.8要求setUp tearDown的返回类型为void

  public function setUp() :void
    {
        parent::setUp();
        $this->product = new Product('xiaocai', 59);
    }
4年前 评论
Shuyi (作者) 4年前
洛未必达

楼上正解

4年前 评论

@Shuyi 才想起来php7的新特性,谢谢啦

4年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!