Php Laravel上的写测试

Php Laravel上的写测试,php,laravel,api,testing,phpunit,Php,Laravel,Api,Testing,Phpunit,您好,我想为我的Api编写测试,我创建了一个名为: LessonsTest.php use App\Lesson; use Tests\ApiTester; /** * Class LessonsTest * That Test Our Lessons */ class LessonsTest extends ApiTester { /** * @test * Test All Lessons pass */ public function it_f

您好,我想为我的Api编写测试,我创建了一个名为:

LessonsTest.php

use App\Lesson;
use Tests\ApiTester;

/**
* Class LessonsTest
*  That Test Our Lessons
*/
class LessonsTest extends ApiTester
{
    /**
    * @test
    *  Test All Lessons pass
    */
    public function it_fetches_lessons()
    {
        //        Make Lesson
        $this->times(5)->makeLesson();
        //      Get URL we want to test
        $this->getJson('api/v1/lessons');
        //        Pass Ok Response
        $this->assertResponseOk();
    }

    /**
    * Make Lesson method
    * @param array $lessonFields
    */
    private function makeLesson($lessonFields = [])
    {
        $lesson = array_merge([
            'title' => $this->fake->sentence,
            'body' => $this->fake->paragraph,
            'some_bool' => $this->fake->boolean
        ], $lessonFields);

        while ($this->times--) Lesson::create($lesson);
    }
}  
现在,您可以看到它的扩展自ApiTester文件:

namespace Tests;
use Faker\Factory as Faker;

class ApiTester extends TestCase
{
    protected $fake;
    protected $times = 1;

    /**
    * ApiTester constructor.
    * @param $faker
    */
    public function __construct()
    {
        $this->fake = Faker::create();
    }

    protected function times($count)
    {
        $this->times = $count;
        return $this;
    }
}
因此,当我尝试测试时,我遇到的问题都是“立即编写”:

vendor\bin\phpunit tests\LessonsTest.php

我得到这个错误:

1) 新英语900句新英语900句新英语900句新英语900句新英语900句新英语900句新英语900句新英语900句 ErrorException:array_merge():参数#1不是数组


我做了很多研究,但找不到解决方案

Log::info($this->fake->句子)你得到了什么?您好,谢谢您的回复。我应该在哪里测试此代码?在
makeLesson
数组上方的
array\u merge
中,我通过
private function makeLesson($lessonFields=[]){\illights\Support\Facades\Log::info($this->fake->句子)
正如您所说,这段代码,但是当我再次尝试在cmd中运行phpunit时,我得到了相同的错误