Springブートテストでp6spyを使用しようとしています。Springブートテストでロードされていないテストの依存関係がありません
@RunWith(SpringRunner.class)
@SpringBootTest
で注釈されたテストクラスは私のgradle.buildが(正常に動作)アプリケーション自体については、この
dependencies {
compile('org.springframework.boot:spring-boot-starter-data-jpa')
runtime('com.h2database:h2')
testCompile 'p6spy:p6spy:3.0.0'
testCompile('org.springframework.boot:spring-boot-starter-test')
}
のように見える私は、私がテスト用途向けに新しいデータソースを追加しましたコンテキスト。私に
spring:
application:
name: persistence
datasource:
url: jdbc:p6spy:h2:mem:persistence;DB_CLOSE_ON_EXIT=FALSE
username: sa
password:
driver-class-name: com.p6spy.engine.spy.P6SpyDriver
jpa:
database: H2
しかし、私は私のテストを実行したときに、私はこのエラーを取得する
java.lang.IllegalStateException: Cannot load driver class: com.p6spy.engine.spy.P6SpyDriver
私の依存関係がロードされないように、これは見えます。最初は、@ DataJpaTestアノテーションを使用していましたが、これは私の新しいテストアプリケーションコンテキストを無視していました。
助けてください。
EDIT:IntelliJを使用して手動でp6spy依存関係を手動でテストするようにしました。今私はクラスパスが間違っていると確信していますが、Gradleで動作させるために修正する方法はわかりません。
プロジェクトをhttps://github.com/p6spy/p6spy-it-spring-bootと比較してください。このサンプルは、期待どおりに動作します。 –
@simas_chヒントをありがとう。私は実際にこのヘルパーを使用しましたが、p6spyでテストを使用しませんでしたか(または、おそらく私は盲目ですか?) – sorencito
実行時の代わりにtestCompile( 'com.h2database:h2')を使用しないのはなぜですか? – Justas