すべてがmaven(pom.xml
)で設定されているSpringアプリケーションを開発しています。私のアプリケーションはPostgreSQLデータベースを使用しますが、ユニットテストではメモリ内のHSQLDBデータベースを使用します。mavenでHSQLDBを設定する
TEXT
カラムの問題は、HSQLDBでネイティブにサポートされていないため、ちょうどこの問題が発生しました。私のエンティティクラスでは私が持っている:
private @Column(columnDefinition = "text") String propertyName;
これはPostgresの罰金に動作しますが、HSQLDBは次のエラーを生成している:type not found or user lacks privilege: TEXT
を。テーブルは作成されていませんが、結果としてほとんどのテストは失敗します。
私はactivate PostgreSQL compatibilityがsql.syntax_pgs
からtrue
に設定することで動作するようにする必要があることを発見しました。
私の質問は次のとおりです。この設定はどこに配置しますか?すべてがそこに設定されているので、私はpom.xml
に入れたいですが、私はどこを知っていません。 exempleについては
私が持っている:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<argLine>-Dspring.profiles.active=test</argLine>
</configuration>
</plugin>
私は何とかこの設定で<argLine>
を追加することはできますか?
これはどこに入れますか?また、 'test'プロファイルを使用するときにのみこれを有効にします。 – deadbeef
テストのためにHSQLDBを設定するときは、これを置く必要があります。このプロパティは、hsqldbを使用するすべてのテストに対して設定されます。 –
私はどこでもHSQLDBを設定していません。依存関係として 'pom.xml'に追加しました。テストを実行するときに自動的に使用されます。 – deadbeef