Здравствуйте, я хочу написать тест для моего Api, и я создаю файл с именем: LessonsTest.php
<?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:
<?php
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) LessonsTest :: it_fetches_lessons ErrorException: array_merge (): Аргумент # 1 не является массивом
Я много исследую, но не могу найти решение