Mockito Android带有AndroidJunitrunner错误



我正在尝试将Mockito Android与AndroidJunitrunner使用并遇到错误。我尝试了许多其他Gradle依赖的组合,但没有运气。我在哪里错了?

testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"

这是Gradle Test Compile Block

testCompile 'junit:junit:4.12'
androidTestCompile 'org.mockito:mockito-android:2.12.0'
androidTestCompile('com.android.support.test:runner:+', {
    exclude group: 'com.android.support', module: 'support-annotations'
    exclude group: 'com.google.code.findbugs'
})

我有错误

org.mockito.exceptions.base.MockitoException:Mockito无法模拟 此类:接口 *.coursewebservice。

Mockito只能模拟非私人&非决赛类。如果不是 当然,为什么要遇到此错误,请报告到邮件列表中。

适用于Android用户的重要信息:

常规字节伙伴模拟制造商无法在Android上生成代码 VM!要解决此问题,请使用" Mockito-Android"依赖性 你的申请: http://search.maven.org/#search|ga|1|a:"mockito-android" G G:"22org.mockito"

Java:0.9 JVM供应商名称:Android Project JVM 供应商版本:2.1.0 JVM名称:Dalvik JVM版本
:0.9 JVM信息:null OS名称:Linux OS版本 :3.18.31-perf-gcd8e090

基础例外: com.android.dex.util.ExceptionWithContext: com.android.dx.cf.attrib.RawAttribute cannot be cast to com.android.dx.cf.attrib.AttSignature

这是测试类:

@RunWith(AndroidJUnit4.class)
public class CourseTest {
    @Mock
    CourseWebService courseWebService;

    @Before
    public void setUp() {
        MockitoAnnotations.initMocks(this);
        gson = new NetworkingConfigurationModule().provideGson();
        assertNotNull(gson);
    }
}

您应该用@RunWith(MockitoJUnitRunner.class更改@RunWith(AndroidJUnit4.class)。另外,在您的setup()方法中,您可以添加此行:courseWebService = mock(CourseWebService.class)

相关内容

  • 没有找到相关文章

最新更新