ひでメモ

プログラムについて勉強したことを書きます。たぶん。

テスト

Docker 環境の Mailhog で詳細なログを出力する

今回 SMTP を使っての APサーバ <=> SMTPサーバ 間のメール送信処理がうまくいってないようだったのでその部分の詳細なログを取得したくて調べていました。 Mailhog で詳細なログを出力する 開発環境では Mailhog というツールを使っています。 SMTPサーバと…

【PHPUnit】php artisan test --parallel するときに設定ファイルを指定する

現在のプロジェクトでは CI でテストのジョブを分散させるために PHPUnit の設定ファイル(デフォルトだと phpunit.xml )が複数あります。 そのため、以下のようなことを同時にやりたい場合が発生します。 php artisan test --parallelでテストを並列実行する…

PHPUnit の setMethods の代わりに使うメソッド

概要 PHPUnit でモックを作成する際に、、モック対象となるメソッドを指定する際にsetMethodsを使っていると、これは現在非推奨とのことで代わりのメソッドを調べました。PHPStorm が教えてくれました… ありがとうございます 代わりのメソッド setMethodsは…

【Laravel】assertDatabaseHas のテーブル名の取得をモデルから行ったほうが可読性が上がる気がする

テストで下記のようにデータベースの中身を確認するパターンよくあると思います。 $this->assertDatabaseHas( 'm_user', // テーブル名を文字列で指定 [ 'id' => $user->id, 'user_name' => $user->user_name, ]); ただ、テーブル名を文字列で指定するのって…

【Laravel】CI での自動テストを並列化したらジョブの時間が短縮した

概要 CI での PHPUnit で行う自動テストで並列化オプションを有効にしたらテストが早く終わるようになりました。 ローカルではもちろん使っていたんですが CI でも有効したらいいじゃんと気づいたので有効しました。 並列化オプション parallelオプションで…

【JMeter】負荷テストで JMeter を使ってみた

がっつりではないですが負荷テストというか並列で複数アクセスがあったときも大丈夫かを確かめるために JMeter を使うことになったので覚書です。 具体的な使用方法はもっと詳しい解説をしてくれている方がたくさんいるので説明しませんが、初期設定(案の定…

【Laravel】レスポンスでファイルを返した後にファイルを削除する処理のテスト

Laravel で「ファイルをダウンロードした後はそのファイルは削除」する処理を実装したときにテスト方法にちょっと手間取ったのでメモです。 前提 Laravel では以下のように書けばファイルをダウンロード後、そのファイルを削除してくれます。 return respons…