码迷,mamicode.com
首页 > 移动开发 > 详细

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

时间:2016-02-01 18:05:46      阅读:188      评论:0      收藏:0      [点我收藏+]

标签:

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. }





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

标签:

原文地址:http://www.cnblogs.com/cmicat/p/5175486.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!