0

私はmockitoを使用してJavaでユニットテストを書いています。

これは私がテストしようとしているステートメントです。

final Map<EntityKey, Element<Movie>> resultMap = Watcher.watch(movies);

moviesは、映画を識別するためのキーとなる映画名のセットです。

ウォッチャークラスを嘲笑しました

final Watcher<Movie> watcher = mock(Watcher.class);

Mockito.when(watcher.watch(Matchers.any(Set.class)))。thenReturn()

「thenReturn」に何を含めるか?

4

2 に答える 2

1

関数では、thenReturnモックしているメソッドの戻り型と同じ型のオブジェクトを渡す必要があります。

このメソッドがそのオブジェクトで呼び出されるとthenReturn、実際に関数に入る代わりに、渡されたオブジェクトが返されます。

これがモッキングの背後にあるコアコンセプトです。

そうは言っても。Watcher.watchメソッドをテストしようとしている場合は、とにかくそれをモックしたくないでしょう。テストしていないクラスのみをモックする必要があります。

于 2012-12-20T22:42:04.160 に答える
0

Map<EntityKey,Element<Movie>>残りのテストでの使用に適したものを作成する必要があります。あなたのテストが実際に何を主張しようとしているのかよくわかりませんが、それが何であれ、それにMap応じて選択してください。オブジェクトMapは、から返したいものですthenReturn

于 2012-12-21T01:43:05.400 に答える