私は些細なパブリックインターフェイスタイプを持っています。それは他のUDパブリックインターフェイスのコレクションを返すことを意味します。エラーのトラブルシューティング方法「Mockitoはこのクラスをモックできません:インターフェース」?
public interface SomeInterface {
//--------------------------------------------------------------------
String getSomething1(String input1, String input2) throws SomeException;
//--------------------------------------------------------------------
Map<String, String> getSomething2(String input1) throws SomeException;
//--------------------------------------------------------------------
String getSomething3(SomeOtherInterface input3) throws SomeException;
//--------------------------------------------------------------------
Map<String, String> getSomething4(Map<String, SomeOtherInterface> input1,
SomeOtherMoreInterface input2, String input3) throws SomeException;
//--------------------------------------------------------------------
SomeOtherInterface[] getSomething5(String[] input1) throws SomeException;
}
その後、私は次のようにこのインターフェースのモックを作成しよう:
import org.junit.Assert;
import static org.mockito.Mockito.*;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.BlockJUnit4ClassRunner;
// Mockito produces the RTE below
SomeInterface myMock = mock(SomeInterface.class);
をしかし、再び、これは処理するMockitoのためにあまりにも多くをようで、私は非常に有益ではないRTEを得る:
org.mockito.exceptions.base.MockitoException:
Mockito cannot mock this class: interface somepackage.SomeInterface.
Mockito can only mock non-private & non-final classes.
If you're not sure why you're getting this error, please report to the mailing list.
Java : 1.8
JVM vendor name : Oracle Corporation
JVM vendor version : 25.11-b03
JVM name : Java HotSpot(TM) 64-Bit Server VM
JVM version : 1.8.0_11-b12
JVM info : mixed mode
OS name : Windows 7
OS version : 6.1
Underlying exception : java.lang.IllegalArgumentException: object is not an instance of declaring class
これらのエラーのトラブルシューティング方法はありますか? MockitoがUDインターフェイスを模擬できるようにするために必要な要件のリストはありますか?
私は「素敵なモックを作成」を使用しているときEasyMockはそれほど特別ではないnitpickされなかったことはほぼ確かだろう...
私はこのようにMavenを介して、Mockitoをインポートしています:
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
<version>2.5.0</version>
<scope>test</scope>
</dependency>
あなたがセットアップした方法を見るために、完全な例外と関連するテストコードを提供してください。私の推測では、それはインタフェース 'SomeInterface'per-seでは問題ではなく、インタフェースによって使用される他のインタフェース/例外の1つと関係しています。 – hotzst