1

Laravel 4 アプリケーションをテストしたいです。しかし、データベースを作成しないとできません。問題は、私がこれらのことに取り組みたいということです:

  • テスト用と開発用に別々のDB(メモリ内も良いでしょう)
  • テスト前に移行とシードを行う
  • テスト後のデータベースのクリア

それにアプローチする方法は?

4

1 に答える 1

6

これはあなたが始めるのに役立つと思います

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"
于 2014-03-14T14:43:59.240 に答える