私はJUnittestingで新しく質問があります。誰も私たちがJunitテストの例でReflectionTestUtils.setField()
を使う理由を教えてもらえますか?JunitテストでのReflectionTestUtils.setField()の使用
答えて
コメントに記載されているように、javaドキュメントは使い方をよく説明しています。しかし、私はあなたにも簡単な例を与えたいと思います。
プライベートフィールドまたは保護フィールドアクシデントを持つEntityクラスがあり、提供されたセッターメソッドがありません。あなたが見つからないためsetterメソッドのあなたのentity
のid
を設定することはできませんあなたのテストクラスで
@Entity
public class MyEntity {
@Id
private Long id;
public Long getId(Long id){
this.id = id;
}
}
。
ReflectionTestUtils.setField(myEntity, "id", 1);
パラメータが記述されています:
public static void setField(Object targetObject,
String name,
Object value)
Set the field with the given name on the provided targetObject to the supplied value.
This method delegates to setField(Object, String, Object, Class), supplying null for the type argument.
Parameters:
targetObject - the target object on which to set the field; never null
name - the name of the field to set; never null
value - the value to set
しかし、試してみるとdocsをお読みください。あなたは、テストの目的のためにそれを行うことができますReflectionTestUtils.setField
を使用して
あなたの説明のために@Patrickに感謝します:) –
ReflectionTestUtils.setField(accountServiceImpl、 "partyServiceImpl"、partyServiceImpl)のような値のペースでクラスオブジェクト(partyServiceImpl)を使用するともう1つの質問があります。毎回partyServiceImplオブジェクトをモックする必要がありますか? @パトリック –
@rohitsharmaあなたのユースケースによって異なります。今はpartyServiceImplオブジェクトをaccountServiceImplオブジェクトに設定しています。テストのためにあなたのオブジェクトの値を保持する必要がある場合は、追加のモックが必要ありません – Patrick
- 1. Jmeter JunitテストのセットアップでJDBCを使用
- 2. Junitテスト用データベース
- 3. Java用JUnitテスト
- 4. PowerMockを使用したLiferayのJUnitテスト
- 5. JUnitテストでJavassistを使用する
- 6. JavaテストJUnit(void)を使用したメソッド
- 7. Hypersonicデータベースを使用したJUnitテスト
- 8. コレクションのJUnitテスト
- 9. @JmsListenerのJUnitテスト
- 10. KotlinのJUnitテスト
- 11. AspectJのJUnitテスト
- 12. JUnitのテスト:TransactionStatus
- 13. JUnitサーブレットのテスト
- 14. JUnitテストで
- 15. AndroidスタジオJUnitテストのFiresbaseでのテスト
- 16. PowerMockでのJUnitテストのプロファイリング?
- 17. JUnitでのJDBCクエリのテスト
- 18. 統合テスト用のJUnit、Maven、Hudson/Jenkinsの使用
- 19. MockitoでのJunitテストNotaMockException
- 20. スイートでのJUnit契約テスト
- 21. SpringアプリケーションでのJUnitテスト
- 22. eclipse:Java PlayでのJUnitテストEVEANS
- 23. シミュレーションJavaでのJUnitテスト
- 24. JunitテストでWEB-INFのi18nリソースを使用する
- 25. JUnitテストのコンテキストでOSGi宣言型サービスを使用する
- 26. JUnitのテスト汎用インタフェースのJava
- 27. junitテスト用のgreenDAOセッションオブジェクトの設定
- 28. JUnitテスト時のランタイムエラー
- 29. Runtime.getRuntime()のexec JUnitテスト
- 30. AndroidアクティビティのJunitテスト
達成しようとしていることと試したことを教えてください。 – Mritunjay
[java doc](https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/test/util/ReflectionTestUtils.html)は使い方をよく説明しています – Patrick
私は見ましたBefore annotationでreflectiontestUtils.setField()を使用するjunitクラスの例ですが、なぜそれが使われているのか、何が必要なのか理解できません。基本を知りたいだけです。 @Mritunjay –