@DataJpaTestを使用しているときにSpring Bootテストでフラッシュモードを変更しますか?

acker9:

フラッシュモード@DataJpaTestを使用するためにどのようにSpringテストを取得しCOMMITますか?これは私のSpockユニットテストでは機能しません。

@AutoConfigureTestDatabase(replace = AutoConfigureTestDatabase.Replace.NONE)
@DataJpaTest(properties = "spring.jpa.properties.org.hibernate.flushMode=COMMIT")
class MyJpaTestSpec extends Specification {
    @Autowired
    EntityManager entityManager

    def "test flush mode"() {
        expect:
        // confirming that flushMode is still AUTO even though I configured COMMIT
        entityManager.flushMode == FlushModeType.AUTO
    }
}

entityManager.getFlushMode()戻り続けAUTOます。

これは、Spring Boot 2.2.2であり、spring-test:5.2.2.RELEASEに依存しています。

私は設定クラスも持っています:

@AutoConfigurationPackage
@SpringBootConfiguration
class MyConfiguration {
}

また、src/test/resources/application.yml(Gradle)は、特定の構成(データソースなど)が取得されているために読み取られているように見えますがspring.jpa.properties.org.hibernate.flushMode@DataJpaTestテストの実行中は、構成ファイルからプロパティが無視されているようです。

spring:
  datasource:
    driver-class-name: org.h2.Driver
    url: jdbc:h2:mem:mydb;DB_CLOSE_DELAY=-1
    username: sa
    password: sa
  jpa:
    # seems to be ignored for @DataJpaTests
    properties:
        org.hibernate.flushMode: COMMIT

呼び出すために@PostConstructin MyConfiguration追加するなどのハックを試しsetFlushMode()ましたentityManagerそれも機能しません。テストが実行されるまでに、テストはAUTOフラッシュモードに戻りました(新しいセッションごとにAUTOに戻ると思います。)

acker9:

質問を投稿する前にこれを試すべきだったのですが、最近修正されたSpringバグのようです。Spring Boot v2.2.6(spring-test v5.2.5を使用)にアップグレードしました。質問を投稿したとき、Spring Boot v2.2.2を使用していました。v2.2.2からv2.2.6へのアップグレードで問題が解決しました。v2.2.6では、v2.2.2のspring.jpa.properties.org.hibernate.flushModeように、私のテストでは無視されません。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

JPAデフォルトのフラッシュモードをAUTOからCOMMITに変更します

分類Dev

どのように私は私の携帯電話は、光や暗いモードになっている場合は変更テキスト&背景色とAndroidのスプラッシュ画面を作ることができますか?

分類Dev

誤って md5 を使用してパスワードをハッシュしてしまいました。全員のパスワードを変更するスクリプトを作成することはできますか?

分類Dev

'dd'コマンドを使用してLinuxイメージをフラッシュドライブに配置すると、フラッシュドライブのプロパティが変更されました。どうすれば元に戻すことができますか?

分類Dev

jqueryを使用してメッセージをフラッシュし、元の色に戻すために「div」の背景とテキストの色を変更するにはどうすればよいですか?

分類Dev

openpyxlモジュールを使用してスプレッドシートに書き込むと、破損したスプレッドシートが作成されます。zipfileモジュールで修正するにはどうすればよいですか?

分類Dev

コンソールやサードパーティのサーバーを使用せずに、Firebaseデータベースで変更が発生したときに、FCMを使用してプッシュ通知を送信することはできますか?

分類Dev

外部認証ソースを使用しているときに、Spring Bootで認証をモックする方法

分類Dev

テンプレートとして使用するGoogleスプレッドシートドキュメントの新しいコピーを自動的に作成するブラウザブックマークレットを作成できますか?

分類Dev

ローカルでファイルを開き、ansible を使用してリモート ホストにプッシュすることはできますか?

分類Dev

jqueryを使用して選択ボックスオプションを変更するときにラベルのテキストを変更しますか?

分類Dev

ボタンクリックで色とテキストを変更するためにngClassを使用しています。データはデータテーブルを使用してリモートサーバーからフェッチされます

分類Dev

Windowsプラットフォームを使用しているときに、分度器でヘッドレステストを行う方法はありますか?

分類Dev

git push origin master:myBranchを使用して、マスターブランチで変更したコードをブランチにプッシュできますか?

分類Dev

ユーザーがフラッターを使用してテキストを入力したときに、ハッシュタグリンクとして単語を解析して置き換えるにはどうすればよいですか?

分類Dev

Ubuntuのソースコードを変更して、システム言語を新しい言語に変更することはできますか?

分類Dev

nftables:新しいテーブルを変更または作成するときにフラッシュ/削除

分類Dev

Spring Bootで内部クラスを列フィールド変数として使用およびマップするにはどうすればよいですか?

分類Dev

Springでテストモードで実行しているときにメソッドを無効にするにはどうすればよいですか?

分類Dev

14.04:デフォルトのデスクトップ環境をGnome Flashback Compizに変更して再起動すると、「システムは低グラフィックモードで実行されています」というメッセージが表示されます。

分類Dev

Tableauでパラメーターを使用してフィールドを交換するときにフォーマットを変更できない

分類Dev

lldbを使用してmacOSアプリケーションをデバッグしているときに、ウォッチポイントを使用してレジスタの内容を監視して変更を確認することはできますか?

分類Dev

@DataJpaTestを使用すると、SpringブートテストでHibernate @ Formulaが機能しない

分類Dev

ローカルシステムからリモートシステムのRedisフラッシュコマンドを実行できますか?

分類Dev

複数のスレッド内でNSMutableSetを変更しているときにクラッシュするのに、同じスレッド内でカスタムオブジェクトPersonを変更してもクラッシュしないのはなぜですか?

分類Dev

ひえ、ビルダーコンテキストをロードするときにフラッターでリストタイルテキストの色を動的に変更する方法を探しています

分類Dev

Spring Bootの@MockBeanを使用するときに厳密なモックを作成していますか?

分類Dev

@RequestMappingの値にスラッシュを使用するかしないか。公式ドキュメントが必要ですか、Springソースを参照しますか?

分類Dev

PythonコードでOSモジュールを使用しているときにリモートフォルダーを処理しますか?

Related 関連記事

  1. 1

    JPAデフォルトのフラッシュモードをAUTOからCOMMITに変更します

  2. 2

    どのように私は私の携帯電話は、光や暗いモードになっている場合は変更テキスト&背景色とAndroidのスプラッシュ画面を作ることができますか?

  3. 3

    誤って md5 を使用してパスワードをハッシュしてしまいました。全員のパスワードを変更するスクリプトを作成することはできますか?

  4. 4

    'dd'コマンドを使用してLinuxイメージをフラッシュドライブに配置すると、フラッシュドライブのプロパティが変更されました。どうすれば元に戻すことができますか?

  5. 5

    jqueryを使用してメッセージをフラッシュし、元の色に戻すために「div」の背景とテキストの色を変更するにはどうすればよいですか?

  6. 6

    openpyxlモジュールを使用してスプレッドシートに書き込むと、破損したスプレッドシートが作成されます。zipfileモジュールで修正するにはどうすればよいですか?

  7. 7

    コンソールやサードパーティのサーバーを使用せずに、Firebaseデータベースで変更が発生したときに、FCMを使用してプッシュ通知を送信することはできますか?

  8. 8

    外部認証ソースを使用しているときに、Spring Bootで認証をモックする方法

  9. 9

    テンプレートとして使用するGoogleスプレッドシートドキュメントの新しいコピーを自動的に作成するブラウザブックマークレットを作成できますか?

  10. 10

    ローカルでファイルを開き、ansible を使用してリモート ホストにプッシュすることはできますか?

  11. 11

    jqueryを使用して選択ボックスオプションを変更するときにラベルのテキストを変更しますか?

  12. 12

    ボタンクリックで色とテキストを変更するためにngClassを使用しています。データはデータテーブルを使用してリモートサーバーからフェッチされます

  13. 13

    Windowsプラットフォームを使用しているときに、分度器でヘッドレステストを行う方法はありますか?

  14. 14

    git push origin master:myBranchを使用して、マスターブランチで変更したコードをブランチにプッシュできますか?

  15. 15

    ユーザーがフラッターを使用してテキストを入力したときに、ハッシュタグリンクとして単語を解析して置き換えるにはどうすればよいですか?

  16. 16

    Ubuntuのソースコードを変更して、システム言語を新しい言語に変更することはできますか?

  17. 17

    nftables:新しいテーブルを変更または作成するときにフラッシュ/削除

  18. 18

    Spring Bootで内部クラスを列フィールド変数として使用およびマップするにはどうすればよいですか?

  19. 19

    Springでテストモードで実行しているときにメソッドを無効にするにはどうすればよいですか?

  20. 20

    14.04:デフォルトのデスクトップ環境をGnome Flashback Compizに変更して再起動すると、「システムは低グラフィックモードで実行されています」というメッセージが表示されます。

  21. 21

    Tableauでパラメーターを使用してフィールドを交換するときにフォーマットを変更できない

  22. 22

    lldbを使用してmacOSアプリケーションをデバッグしているときに、ウォッチポイントを使用してレジスタの内容を監視して変更を確認することはできますか?

  23. 23

    @DataJpaTestを使用すると、SpringブートテストでHibernate @ Formulaが機能しない

  24. 24

    ローカルシステムからリモートシステムのRedisフラッシュコマンドを実行できますか?

  25. 25

    複数のスレッド内でNSMutableSetを変更しているときにクラッシュするのに、同じスレッド内でカスタムオブジェクトPersonを変更してもクラッシュしないのはなぜですか?

  26. 26

    ひえ、ビルダーコンテキストをロードするときにフラッターでリストタイルテキストの色を動的に変更する方法を探しています

  27. 27

    Spring Bootの@MockBeanを使用するときに厳密なモックを作成していますか?

  28. 28

    @RequestMappingの値にスラッシュを使用するかしないか。公式ドキュメントが必要ですか、Springソースを参照しますか?

  29. 29

    PythonコードでOSモジュールを使用しているときにリモートフォルダーを処理しますか?

ホットタグ

アーカイブ