配置同时使用PowerMock和Robolectric对Android进行单元测试

Robolectric官网上给了一个配置教程,但是我使用它的方法进行配置,发现使用Mockito.spy函数的时候会出现Exception。

后来在PowerMock官网上找到了另外一个教程,里面说使用PowerMockRule是不靠谱的,要使用PowerMock 1.6.0引入的新的@PowerMockRunnerDelegate annotation来进行配置

具体配置文件如下:

module里面的build.gradle添加依赖:

  1. dependencies {
  2. ......
  3. testCompile "org.robolectric:robolectric:3.0"
  4. testCompile ‘org.mockito:mockito-core:1.10.19‘
  5. testCompile ‘junit:junit:4.12‘
  6. testCompile "org.powermock:powermock-module-junit4:1.6.4"
  7. testCompile "org.powermock:powermock-module-junit4-rule:1.6.4"
  8. testCompile "org.powermock:powermock-api-mockito:1.6.4"
  9. testCompile "org.powermock:powermock-classloading-xstream:1.6.4"
  10. }

对下面的 RobolectricTest 基类进行继承,就可以正常使用PowerMock和Robolectric进行测试了

  1. import org.junit.runner.RunWith;
  2. import org.powermock.core.classloader.annotations.PowerMockIgnore;
  3. import org.powermock.modules.junit4.PowerMockRunner;
  4. import org.powermock.modules.junit4.PowerMockRunnerDelegate;
  5. import org.robolectric.RobolectricGradleTestRunner;
  6. import org.robolectric.annotation.Config;
  7. /**
  8. * Base class extended by every Robolectric test in this project.
  9. */
  10. @RunWith(PowerMockRunner.class)
  11. @PowerMockRunnerDelegate(RobolectricGradleTestRunner.class)
  12. @Config(constants = BuildConfig.class,
  13. sdk = 21)
  14. @PowerMockIgnore({"org.mockito.*", "org.robolectric.*", "android.*"})
  15. public abstract class RobolectricTest {
  16. }

来自为知笔记(Wiz)

时间: 2024-11-04 09:14:49

配置同时使用PowerMock和Robolectric对Android进行单元测试的相关文章

Robolectric结合Android Studio的使用

Roboletric是针对Android进行单元测试的平台.以 Java Junit 的方式运行,这样就脱离了对 Android 环境的依赖,而可以直接将 case 在 JVM 中运行,因此很适合将 Roboletric 用于 Android 的测试驱动开发. 一.Roboletric配置 build.gradle: testImplementation "junit:junit:4.12"testImplementation "org.robolectric:robolec

win8下面配置cocos2d-x的环境以及向android平台移植

大家好,今天学习了一下在win8下面配置cocos2d-x的开发环境,现在分享一下吧,如果有不准确的地方,请大家指出,谢谢! 需要的软件: vs2012 adt Bundle(集成了eclipse和sdk) ant ndk cocos2d-x 的源码 python 首先安装 vs2012 ,安装后安装 python ,安装python后将 python的目录添加进 环境变量中,如: 这样的话,python的环境变量就配置好了,可以在命令行下面执行 python命令 查看是否成功: 安装好后 下载

你想不想同时使用多个版本的Android studio

2016年3月16号:针对最新的2.1preiew3的信息,请查看 canary release announcement.附加说明,请参考maindeveloper site. (1)Installation 如果你想参与android N预览版的测试,如果你安装了最新的,这个最新版本会替换你的老版本,也许这不是你想要的效果.你想同时使用预览版和正式版:现在是支持的,两个版本的android studio使用了独立的设置和缓存目录. 下载地址: Windows: https://dl.goog

Qt 配置多个移动开发环境,android,BlackBerry

Qt 配置多个移动开发环境,android,BlackBerry

使用Robolectric对Android应用进行单元测试

Google提供了Android Testing framework,但是需要模拟器或者真机去跑,速度较慢.要做纯净的unit test,项目代码里面又有很多Android API的依赖,太难测.上网搜了一下,要将java的code和Android的code区分开,好像只有Robolectric能做到. 两篇参考文章 http://stackoverflow.com/questions/14949480/android-unit-test-case-automation-robolectric-

[Android学习十一]Android开发单元测试

网上关于Android单元测试的文字帖子不胜枚举,看完之后能解决问题是好事,不能解决问题那就是浪费时间和经历.大多数文章来自于这篇文章:http://rexstjohn.com/unit-testing-with-android-studio/       自从投入到Android Studio IDE之后基本上就赖着不走了.这里仅讨论AS(Android Studio)中Android单元测试.           开发一个Android应用单元测试这种程序员的自我修养和基本道德测试是必不可少

Android Studio 单元测试

Android Studio单元测试流程 *:first-child { margin-top: 0 !important; } body > *:last-child { margin-bottom: 0 !important; } a { color: #4183C4; } a.absent { color: #cc0000; } a.anchor { display: block; padding-left: 30px; margin-left: -30px; cursor: pointe

android开发 单元测试

1.测试用例类必须得继承AndroidTestCast类2.测试用例类使用public 修饰3.测试用例的测试方法使用public修饰4.测试用例的测试方法的返回值应该是void5.测试用例中测试方法不应该有任何参数6.测试用例中测试方法必须抛出异常 ,在你的方法加上:throws throwable7.测试用例中测试方法名必须以test开头:test+你的方法名, android开发 单元测试,布布扣,bubuko.com

Android 进行单元测试难在哪-终

原文链接 : WHAT I'VE LEARNED FROM TRYING TO MAKE AN ANDROID APP UNIT TESTABLE 原文作者 : Matthew Dupree 译文出自 : 开发技术前线 www.devtf.cn 译者 : chaossss 校对者: Mr.Simple 状态 : 完成 在前面的博文中,我给大家介绍并展示了要怎么使用 Square 大法架构 Android 应用,事实上,Square 开发新的 Android 应用架构本意只是增强应用的可测试性.正