私はSpring Boot 1.4.3を使用しており、@DataJpaTest
という注釈が付けられています。デフォルトでは、メモリ内のデータベースに対して実行されます。私は一時的にローカルのMySQLに対してこれらのすべてを実行できるようにしたいと考えています。これを簡単な方法でどうすればいいですか?Spring起動時にメモリ内ではなく実際のデータベースに対して@DataJpaTestを実行する方法
私は、私は私のローカルのMySQLを指すapplication-local.properties
を持って@ActiveProfiles("local")
を追加することによって、私はそれが1のために働くことができますことを発見したが、どこにでもいることを追加テストを実行し、再度それを削除するにはあまりにも多くの仕事です(私はこれをMySQLに対して手動でのみ実行したいので、CI環境はメモリ内のデータベースに対して実行されます)。
問題がある場合は、私はMavenを使用しています。
UPDATE:
だから私はその後、私は右クリック(私はローカルのMySQLに対する自分のアプリケーションを実行するためにすでに使用)私のローカルのMySQLデータベース
に接続するためのDBプロパティが含まれているapplication-local.properties
を持っていますIntelliJのパッケージで "すべてのテストをパッケージで実行"を選択します。その実行コンフィギュレーションの設定では、「VMオプション」フィールドに-Dspring.profiles.active=local
を追加します。
これはテスト中にlocal
のプロファイルを有効にすると思っていましたが、そうではありません。ローカルのMySQLを停止すると、テストは正常に実行されます。
この名前を「One-off run @ Da taJpaメモリ内ではなく実際のデータベースに対してテストするようになりました。 –
システムプロパティは '@ ActiveProfiles'をオーバーライドしません。 [SPR-8982](https://jira.spring.io/browse/SPR-8982)を参照してください。カスタム回避策については、http://stackoverflow.com/questions/20551681/spring-integration-tests-with-profile/33044283#33044283をご覧ください。 –
@SamBrannen '@ ActiveProfies'自体は動作しません。とにかく埋め込まれたdbが使用されます。 –