Laravel 4 アプリケーションをテストしたいです。しかし、データベースを作成しないとできません。問題は、私がこれらのことに取り組みたいということです:
- テスト用と開発用に別々のDB(メモリ内も良いでしょう)
- テスト前に移行とシードを行う
- テスト後のデータベースのクリア
それにアプローチする方法は?
Laravel 4 アプリケーションをテストしたいです。しかし、データベースを作成しないとできません。問題は、私がこれらのことに取り組みたいということです:
それにアプローチする方法は?
これはあなたが始めるのに役立つと思います
1. テスト用にのみデータベース設定を上書きする
app/config/testing 内に、database.php という名前の新しいファイルを作成し、その中に次の場所を配置します。
return array(
'default' => 'mysql',
'connections' => array(
'mysql' => array(
'driver' => 'mysql',
'host' => 'localhost',
'database' => 'TEST_DB_NAME', // Create also the Database
'username' => 'USERNAME',
'password' => 'PASSWORD',
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
)
)
);
このデータベースは、テスト目的でのみ使用されます。
2. この情報を codeception.yml にも追加します
modules:
config:
Db:
dsn: 'mysql:host=localhost;dbname=TEST_DB_NAME'
user: 'USERNAME'
password: 'PASSWORD'
dump: app/tests/_data/dump.sql
3. テスト データベースを移行してシードする
php artisan migrate --seed --env="testing"
4. データベースをクリーンアップするには
php artisan migrate:reset --env="testing"