saya harus menekan enter saat menjalankan tes menggunakan phpunit di laravel

saya harus menekan enter saat menjalankan tes menggunakan phpunit di Laravel 5.7.

Pada setiap tes saya mendapatkan Pesan berikut:

1) Tes\Feature\DepartmentsTest::a_admin_can_create_a_department Mockery\Exception\BadMethodCallException: Menerima Mockery

public $mockConsoleOutput = false;
Illuminate_Console_OutputStyle::askQuestion(), tetapi tidak ada ekspektasi yang ditentukan

dengan menyetel yang berikut ke false, kesalahannya hilang:

public $mockConsoleOutput = false;

Setelah itu jendela berhenti menjalankan test suite dan saya perlu menekan enter untuk menjalankan tes.

Bagaimana cara memperbaikinya?

Saya menggunakan Windows 10 + PHPUnit 7.5.1 dan Laravel 5.7.19

Terima kasih sebelumnya!

/** @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 sumber
comment
Bisakah Anda memposting kode Tests\Feature\DepartmentsTest::a_admin_can_create_a_department ?   -  person Peter    schedule 21.12.2018
comment
@Peter mengedit postingan, lihat di atas   -  person Daniel Julius    schedule 21.12.2018
comment
Bisakah Anda menunjukkan metode $this->post() Anda juga? Pada dasarnya kami perlu melihat di mana Anda menyiapkan tiruan Anda.   -  person Peter    schedule 22.12.2018


Jawaban (2)


Jadi sekarang saya akhirnya menemukan solusinya.

Pada migrasi saya dari Laravel 5.1 ke Laravel 5.2 (lama sekali) saya lupa menambahkan baris berikut ke File 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'),

Sekarang semuanya berfungsi dengan baik.

Salam Daniel

person Daniel Julius    schedule 27.12.2018

Ini memperbaiki masalah saya https://stackoverflow.com/a/48303288/2171254

Setelah melakukan itu, saya tidak memerlukan baris public $mockConsoleOutput = false;

Salam

person Gjaa    schedule 05.03.2019