Powermockito可以与Android Studio 1.2一起使用吗

汤姆森

我正在使用Android Studio 1.2和com.android.tools.build:gradle:1.2.2插件。

尝试1

我将以下内容包括在内app/build.gradle

androidTestCompile ('com.google.dexmaker:dexmaker-mockito:1.2')
androidTestCompile ('org.powermock:powermock-mockito-release-full:1.6.2')

但随后无法导入PowerMockito软件包:

error: cannot find symbol
    PowerMockito.mockStatic(DatastoreFactory.class);
    ^

尝试2

我将以下内容包括在内app/build.gradle

androidTestCompile ('org.powermock:powermock-api-mockito:1.6.2') {
    exclude module: 'hamcrest-core'
    exclude module: 'objenesis'
}

androidTestCompile ('org.powermock:powermock-module-junit4:1.6.2') {
    exclude module: 'hamcrest-core'
    exclude module: 'objenesis'
}

这是此q / a的反复试验的分支:带有powermock的AndroidStudio / Gradle

可以编译,但是在运行Mockito时会出现运行时错误:

java.lang.VerifyError: org/mockito/cglib/core/ReflectUtils
    at org.mockito.cglib.core.KeyFactory$Generator.generateClass(KeyFactory.java:167)
    at org.mockito.cglib.core.DefaultGeneratorStrategy.generate(DefaultGeneratorStrategy.java:25)
    at org.mockito.cglib.core.AbstractClassGenerator.create(AbstractClassGenerator.java:217)
    at org.mockito.cglib.core.KeyFactory$Generator.create(KeyFactory.java:145)
    at org.mockito.cglib.core.KeyFactory.create(KeyFactory.java:117)
    at org.mockito.cglib.core.KeyFactory.create(KeyFactory.java:109)
    at org.mockito.cglib.core.KeyFactory.create(KeyFactory.java:105)
    at org.mockito.cglib.proxy.Enhancer.<clinit>(Enhancer.java:70)
    at org.powermock.api.mockito.repackaged.ClassImposterizer.createProxyClass(ClassImposterizer.java:95)
    at org.powermock.api.mockito.repackaged.ClassImposterizer.imposterise(ClassImposterizer.java:57)
    at org.powermock.api.mockito.repackaged.ClassImposterizer.imposterise(ClassImposterizer.java:49)
    at org.powermock.api.mockito.repackaged.CglibMockMaker.createMock(CglibMockMaker.java:24)
    at org.powermock.api.mockito.internal.mockmaker.PowerMockMaker.createMock(PowerMockMaker.java:45)
    at org.mockito.internal.util.MockUtil.createMock(MockUtil.java:33)
    at org.mockito.internal.MockitoCore.mock(MockitoCore.java:59)
    at org.mockito.Mockito.mock(Mockito.java:1285)
    at org.mockito.Mockito.mock(Mockito.java:1163)
    at com.mdsol.naga.FormPusherTest.setUp(FormPusherTest.java:40)
    at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:191)
    at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:176)
    at android.test.InstrumentationTestRunner.onStart(InstrumentationTestRunner.java:554)
    at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1701)

有人可以在Android Studio 1.2中成功使用Powermock吗?请分享您的build.gradle-谢谢!

卢卡·维图奇(Luca Vitucci)

应该已经很好了。至少在我看来,它可以正常工作。

dependencies {
    testCompile 'junit:junit:4.12'
    testCompile 'org.mockito:mockito-core:2.0.5-beta'
    testCompile 'com.android.support:support-v4:22.0.0'
    testCompile ('org.powermock:powermock-api-mockito:1.6.2') {
        exclude module: 'hamcrest-core'
        exclude module: 'objenesis'
    }
    testCompile ('org.powermock:powermock-module-junit4:1.6.2') {
        exclude module: 'hamcrest-core'
        exclude module: 'objenesis'
    }
}

另外,请记住Unit Tests在Android Studio中的“构建变体”的“测试工件”部分中进行选择您需要确保使用正确的项目结构,Gradle版本和testCompile。

您可以在这里找到有关此的文章:http : //vexdev.com/2015/05/06/unit-testing-android/

整个项目:https//github.com/vexdev/AndroidUnitTest

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

ETL 可以与 Atmel Studio 一起使用吗?

Android Studio与模块一起使用

pip可以与Visual Studio中的Python工具一起使用吗?

我可以将Visual Studio的Assisted IntelliSense与ReSharper的建议系统一起使用吗?

Mongosis SSIS数据源可以与Visual Studio 2013一起使用吗?

适用于Windows的GitHub和Visual Studio 2013-可以一起使用吗?

MS .NET 4.6可以与Visual Studio 2010一起使用吗

Visual Studio工作区可以与多个Windows一起使用吗?

CircleCI 可以与 Microsoft TFS (Visual Studio) 一起使用吗?

Android Studio(3.2.1)Instant Run无法与Jacoco 0.8.2一起使用吗?

Struts 1(即EOL)可以与Java EE7一起使用吗?

可以将Realm与Angular 2一起使用吗?

Visual Studio Express是否可以与Wine一起使用?

我如何使Dagger 2与Android Studio Java库项目一起使用

Android Studio中的findViewByID无法与EditText一起使用

是否可以将向量索引 1 与列表元素 1、索引 2 与元素 2 等一起使用?

无法使用Realm + PowerMockito在Android Studio中运行Robolectric测试

Dagger 2和Android Annotations可以一起使用吗?

Android Auto 可以与 MediaBrowserService 一起使用吗?

Android SDK可以与JDK 1.7一起使用吗?

三星远程测试实验室(RTL)是否可以与Android Studio一起使用

将IntelliJ与Android插件一起使用,而不是使用Android Studio

MSXML2.XMLHTTP 可以与 Chrome 一起使用吗

可以将AngularJS与Jinja2模板引擎一起使用吗?

可以将SDL2与智能指针一起使用吗?

我可以将aiohttp和psycopg2一起正确使用吗?

角度2组件可以与属性选择器一起使用吗?

我们可以将Angular Material 2与Ionic一起使用吗?

numpy.add.at可以与2D索引一起使用吗?