実行されるテストメソッドと実行されないテストメソッドがある

Laravelでテスト実行時に一部のテストしか実行されないことがある。
/*** @test */
の記述が抜けていると、そのテストは実行されない。

<?php
//backend\tests\Feature\InquiriesTest.php
namespace Tests\Feature;

use Illuminate\Foundation\Testing\RefreshDatabase;
use Tests\TestCase;

use Illuminate\Http\UploadedFile; //アップロードチェックで必要
use Illuminate\Foundation\Testing\DatabaseTransactions;//テストで投稿したダミーデータを無かったことにしてくれる

class InquiriesTest extends TestCase
{
    use DatabaseTransactions; //テストで投稿したダミーデータを無かったことにしてくれる
    /**
     * @test
     */

        //実行される
    public function すべての問い合わせレコードを取得()
    {
        $response = $this->get('/api/inquiries/getallId');

        $response->assertStatus(200);//そもそもメソッドが通るか

        //想定されるキーの形式で取得できているか
        //引継元の問い合わせIDと問い合わせ内容が返ってくることを想定
        $response->assertJsonStructure([
            '*' => [
                'inquiry_id',              
                'question',
            ]
        ]);  

        json_decode($response->content(), true);
    }

    //実行されない
    public function csvインポート成功パターン()
    {   
        // 一時ファイルを作成
        $tmp_fp = tmpfile();

        // CSVファイルとして書き込む
        $csv_rows = [
            [
                '入電日時',
                '機種名',
                'シリアル',
                '販売店',
                '問い合わせ者',
                '電話番号',
                'ユーザー名',
                '問い合わせ種別',
                '問い合わせ内容',
                '回答内容',
                'リモートメンテナンス', 
                '承認者',
                '満足度',
                'オペレーターID',
                '問い合わせID',
                '引継元ID',
            ],
            [
                '2022-10-24',
                'セキュリティハブ',
                '',
                '',
                '',
                '',
                '',
                '設定',
                'あああ',
                'いいい',
                'なし', 
                '',
                '満足',
                '1',
                '55556666',
                '',
            ]
        ];
        foreach ($csv_rows as $csv_row) {
            fputcsv($tmp_fp, $csv_row);
        }

        // 一時ファイルのパスを取得
        $tmp_meta = stream_get_meta_data($tmp_fp);
        $tmp_path = $tmp_meta["uri"];

        // 一時ファイルからアップロードファイルを作成
        $file = new UploadedFile($tmp_path, 'upload.csv');//
        $response = $this->post('/api/inquiriesImport',array('file' => $file));//keyが必要
        $response->assertStatus(200); //csvインポートが通るかをテスト
    }

実行されないcsvインポート成功パターン()メソッドの前に、

    /**
     * @test
     */

が抜けている。

テストメソッド毎にこの記述が必要。

じゃないと実行されない。

無制限に質問可能なプログラミングスクール!

万が一転職できない場合は、転職保障全額返金できるコースもあり!!

無制限のメンター質問対応

 

DMMウェブキャンプでプログラミングを学習しませんか?

独学より成長スピードをブーストさせましょう!

 

まずは無料相談から!

おすすめの記事