Я получаю это при выполнении теста: имя функции должно быть строкой - PullRequest
0 голосов
/ 05 марта 2020

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

1) Тесты \ Feature \ Http \ Controllers \ Auth \ Editar_Pelicula :: Editar_Pelicula Symfony \ Component \ Debug \ Exception \ FatalThrowableError: Имя функции должно быть строкой

<?php

namespace Tests\Feature\Http\Controllers\Auth;
use Illuminate\Foundation\Testing\WithoutMiddleware;
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithFaker;
use Illuminate\Foundation\Testing\DatabaseTransactions;
use Tests\TestCase;
use App\User;
use App\Movie;

class Editar_Pelicula extends TestCase
{
    /**
     * A basic feature test example.
     *
     * @return void
     */
    /** @test */
    public function Editar_Pelicula(){
        $this->withoutExceptionHandling();
        $response = $this->withoutMiddleware()->put('catalog/edit/1', [
            'title' => 'testeo',
            'year' => '9999',
            'director' => 'Eduard',
            'synopsis' => 'blablabla',
            'category' => 3,
            'trailer' => 'https://www.youtube.com/embed/XXXXXX'
        ]);

        $this->assertDatabaseHas('movies', [
            'title' => 'testeo',
            'year' => '9999',
            'director' => 'Eduard',
            'synopsis' => 'hola',
        ]);
    }

}

1 Ответ

1 голос
/ 06 марта 2020

Поскольку ваш класс и метод оба имеют имя Editar_Pelicula, метод действует как конструктор для класса. Это не то, что вы хотите сделать.

Чтобы указать, что метод является тестовым сценарием, переименуйте метод так, чтобы он начинался с test. Затем рекомендуется называть метод так, чтобы он описывал тестируемый сценарий.

Например, переименуйте метод в test_A_Valid_Put_Changes_Database.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...