2016-12-16 6 views
1

私はクラスパスにいくつかのINSERT文を持つimport.sqlファイルを持っています。私のアプリケーションをprofile = develで実行すると、データはpostgres dbにロードされています。これはこれまでのところOKです。Springブートユニットテストでimport.sqlが実行されないようにする方法

テストプロファイルを使用してテストを実行する場合、インポートのためにimport.sqlがトリガされ、「テーブルが見つかりません」例外が発生します。その理由がわからないが、とにかくそのデータをテストに使用したくない。

どうすればいいですか?テストプロファイルに対してhibernate.ddl-auto = noneを設定することは、スキーマの生成を妨げるため、解決策ではないようです。データとDBをINITS data.sqlにファイルを提供することが可能であるhttp://docs.spring.io/spring-boot/docs/current/reference/html/howto-database-initialization.htmlによると

答えて

1

は、私は私が私をもっとよく合う解決策を見つけたと思います。通常、これはすべてのプロファイルで選択され、テストまたはプロダクション環境に与えられたテストデータを入力します。

これを防ぐため、私はpopulate_db.sqlという名前に変更し、develプロファイルの場合にのみspring.datasource.data=populate_db.sqlと設定しました。

+0

これは問題を解決しません。名前を変更すると、ファイルをdevモードで実行しません。このファイルは実行するために必要です –

関連する問題