@Transactional が付いていると Mockito で Spy が出来ないようだ2025年03月19日 10時39分31秒

Java でテスト用に外部依存の関数を書き換えて任意の戻り値を与えるのに使う Mockito。これ自体は便利に使えている。

もう一つ Java 言語を使っていると入ってくるのが、SpringFramework。@Autowire と Bean オブジェクトを使って、クラスインスタンスの管理等に色々と使われる。@Transactional はデータベースのトランズアクションを自動的に始めて、例外が投げられるとロールバックを行う。

この Transactional は Annotation と Reflection を利用してあれこれとコードを差し込む。Mockito も Reflection を使って、関数の操作をしている。両方共、特別なコードを差し込む動作をするので、Mockito と Transactional は競合しやすいようだ。

まだまだ、細かい発生条件などは追跡中。

コメント

コメントをどうぞ

※メールアドレスとURLの入力は必須ではありません。 入力されたメールアドレスは記事に反映されず、ブログの管理者のみが参照できます。

※なお、送られたコメントはブログの管理者が確認するまで公開されません。

名前:
メールアドレス:
URL:
コメント:

トラックバック

このエントリのトラックバックURL: http://uyota.asablo.jp/blog/2025/03/19/9762076/tb

※なお、送られたトラックバックはブログの管理者が確認するまで公開されません。