я должен нажать Enter при запуске тестов с использованием phpunit в laravel

я должен нажать Enter при запуске тестов с использованием phpunit в Laravel 5.7.

На каждом тесте я получаю следующее сообщение:

1) Tests\Feature\DepartmentsTest::a_admin_can_create_a_department Mockery\Exception\BadMethodCallException: Получено Mockery

public $mockConsoleOutput = false;
Illuminate_Console_OutputStyle::askQuestion(), но ожидания не указаны

установив следующее значение false, ошибка исчезнет:

public $mockConsoleOutput = false;

После этого окно зависает при запуске набора тестов, и мне нужно нажать клавишу ввода, чтобы запустить тесты.

Как я могу это исправить?

Я использую Windows 10 + PHPUnit 7.5.1 и Laravel 5.7.19.

Заранее спасибо!

/** @test */
public function a_admin_can_create_a_department()
    {

        // $this->withoutExceptionHandling();

        $attributes = [
            'description' => 'Service',
            'accessible_by_depart' => true
        ];

        $this->post('/tools/api/storeDepartment', $attributes);

        $this->assertDatabaseHas('departments', $attributes);
    }

person Daniel Julius    schedule 20.12.2018    source источник
comment
Можете ли вы опубликовать код Tests\Feature\DepartmentsTest::a_admin_can_create_a_department ?   -  person Peter    schedule 21.12.2018
comment
@Peter отредактировал пост, см. выше   -  person Daniel Julius    schedule 21.12.2018
comment
Можете ли вы показать свой метод $this->post() тоже? По сути, нам нужно увидеть, где вы настраиваете свой макет.   -  person Peter    schedule 22.12.2018


Ответы (2)


Итак, теперь я, наконец, нашел решение.

При переходе с Laravel 5.1 на Laravel 5.2 (давным-давно) я забыл добавить следующие строки в файл config/app.php:

    /*
    |--------------------------------------------------------------------------
    | Application Environment
    |--------------------------------------------------------------------------
    |
    | This value determines the "environment" your application is currently
    | running in. This may determine how you prefer to configure various
    | services the application utilizes. Set this in your ".env" file.
    |
    */
    'env' => env('APP_ENV', 'production'),

Теперь все работает нормально.

Привет Даниэль

person Daniel Julius    schedule 27.12.2018

Это решило проблему для меня https://stackoverflow.com/a/48303288/2171254

После этого мне не нужна была строка public $mockConsoleOutput = false;

Привет

person Gjaa    schedule 05.03.2019