Написать тест на Laravel

Здравствуйте, я хочу написать тест для своего 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;
    }
}

так что теперь все пишут, что у меня возникает проблема, когда я пытаюсь протестировать:

поставщик \ bin \ phpunit tests \ LessonsTest.php

Я получаю такую ​​ошибку:

1) LessonsTest::it_fetches_lessons ErrorException: array_merge(): Argument #1 is not an array

Я много занимаюсь исследованиями, но не могу найти решения

Log::info($this->fake->sentence); что вы получаете?
aynber 29.05.2018 17:59

Здравствуйте, спасибо за ваш ответ, где мне протестировать этот код?

Ali Fatahi 31.05.2018 07:48

Внутри makeLesson над array_merge

aynber 31.05.2018 14:55

Я передаю private function makeLesson($lessonFields = []) { \Illuminate\Support\Facades\Log::info($this->fake->sentence)‌​; этот код, как вы говорите, но когда я снова пытаюсь запустить phpunit в cmd, я получаю ту же ошибку

Ali Fatahi 02.06.2018 06:45
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
4
78
0

Другие вопросы по теме