データベースのコンフィグファイルにテスト用のコネクションを設定しましす。
ここではsqliteを使用します。database
ディレクトリにtest.sqlite
を作成しておきます。
config/database.php
'connections' => [ // ... 'testing' => [ 'driver' => 'sqlite', 'database' => database_path('test.sqlite'), 'prefix' => '', ], ],
次にテスト用のenvファイルを新たに作成します。
DB_CONNECTION
にコンフィグファイルで作成したコネクションを指定します。
.env.testing
DB_CONNECTION=testing
phpunit.xml
のAPP_ENV
がtesting
になっていることを確認します。
phpunit.xml
<php> <env name="APP_ENV" value="testing"/> <env name="CACHE_DRIVER" value="array"/> <env name="SESSION_DRIVER" value="array"/> <env name="QUEUE_DRIVER" value="sync"/> </php>
Laravelの設定は以上です。
PhpStormの設定
PhpStormからPHPUnitを実行できるようにしてみましょう。
メニューからPreferences
を開き、Languages & Freamworks
> PHP
> Test Freamworks
を選択。
Use Composer autoloader
にチェックしてPath to script:
にはプロジェクトディレクトリのvendor/autoload.php
を指定します。
このままでは実行した際、設定したphpunit.xmlが読み込まれないので、Default configuration file:
にphpunit.xml
を指定しましょう。
以上で設定は完了です。
ファイルブラウザでテストファイルを右クリックしてRun xxxxx(PHP Unit)
を選択して実行してみてください。