0
A
答えて
1
@Autowired
はいいですが、私たちはテストする方法について忘れさせる傾向があります。 b
とc
のセッターを追加するだけです。
C c = mock(C.class);
c.doIt();
replay(c);
B b = new B();
b.setC(c);
A a = new A();
a.setB(b);
a.doSomething();
verify(c);
またはコンストラクタインジェクションを使用してください。この場合
C c = mock(C.class);
c.doIt();
replay(c);
B b = new B(c);
A a = new A(b);
a.doSomething();
verify(c);
、あなたのクラスは次のようになります。
public class A {
private B b;
public A(B b) { // Spring will autowired by magic when calling the constructor
this.b = b;
}
public void doSomething() {
b.doSomeThingElse();
}
}
@Component
public class B {
private C c;
public B(C c) {
this.c = c;
}
public void doSomethingElse(){
c.doIt();
}
}
関連する問題
- 1. EasyMockとSpring Autowired
- 2. easymock
- 3. EasyMockロギングコール
- 4. EasyMockディープスタブ
- 5. EasyMock - CreateNiceMock
- 6. EasyMock 3:
- 7. オブジェクトメソッド:イメージャ
- 8. powermockでeasymockエラー
- 9. EasyMockと@Valueアノテーション
- 10. javascript関数オブジェクトメソッド
- 11. クラス内のオブジェクトメソッド
- 12. クラス、インスタンス/オブジェクトメソッド
- 13. Express-Sessionのオブジェクトメソッド
- 14. JavaScriptオブジェクトメソッドreturn文
- 15. PHPのCOMオブジェクトメソッド
- 16. Autowired春
- 17. カスタマイズ@Autowired
- 18. Javascriptオブジェクトメソッドの問題
- 19. オブジェクトメソッドの取得R
- 20. EasyMockのLastCall.IgnoreArgumentsに相当。
- 21. EasyMockとジェネリッククラスを返すメソッド
- 22. EasyMockがnullを返す
- 23. EasyMock/GuiceのスタイルのAPI
- 24. EasyMock andReturn()null戻り値
- 25. @Autowiredとインスタンス化
- 26. SpringbootユニットテストAutowired
- 27. テスト@Autowired JpaRepository
- 28. エラーが@Autowired
- 29. Mockito:@Autowiredと@Mock
- 30. Spring @Autowiredと@Qualifier
感謝。しかし、私は使用しました:ReflectionTestUtils.setField、しかし、あなたも同様に動作するでしょう – user1345883
それは同様に動作します。私はそれに答えることができましたが、私はそれを本当に好きではありません。必要でないときカプセル化を中断する – Henri