0

ListユニットテストでSpringによって自動配線されたBeanをモックするにはどうすればよいですか。

これまでのところ、私は望む結果を達成することができませんでした。それを行う方法はありますか?

@Component
public class CrmStatusChecker {

    @Resource
    private List<IsAliveEnabledComponent> components;

    ....
}

テスト

@RunWith(MockitoJUnitRunner.class)
public class CrmStatusCheckerTest {

    @Mock
    private List<IsAliveEnabledComponent> isAliveComponents;

    @InjectMocks
    private final CrmStatusChecker crmStatus = new CrmStatusChecker();;

    @Before
    public void setUp() {
        MockitoAnnotations.initMocks(this);
    }

    ...
}
4

1 に答える 1

1

Springockitoをチェックしてください。これにより、春のコンテキストでBeanをモックに置き換えることができます。

もう1つの問題は、型消去を使用すると、あなたはList<IsAliveEnabledComponent>ただになるということList<Object>です。だからあなたはちょうど嘲笑しListました。これが、Mockitoがそれを無視している理由かもしれません。

Springコンテキストをロードする場合は、Springockitoを使用します。それ以外の場合は、モックIsAliveEnabledComponentインスタンスのセットを作成し、それらのリストを作成して、セットアップで手動でセッターを呼び出します。

于 2012-10-16T14:35:40.027 に答える