Android 单元测试详解(一):填坑记录

1、PowerMock和Robolectric教程

2、Robolectric中context 如何获取

用Robolectric中的RuntimeEnvironment.application 

参考资料:

3、解决Robolectric中的Resources$NotFoundException问题(context无法拿到resource文件)

Gridle中加入以下代码:

android {
  testOptions {
    unitTests {
      includeAndroidResources = true
    }
  }
}

gradle.properties中加入:

android.enableUnitTestBinaryResources=true

参考资料:

4、Powermock和Robolectric如何一起使用

@RunWith(RobolectricTestRunner.class)
@Config(constants = BuildConfig.class)
@PowerMockIgnore({ "org.mockito.*", "org.robolectric.*", "android.*" })

注意:如果是4.0+的Robolectric,constants不需要再配置

5、Method put in org.json.JSONObject not mocked

testOptions {
    unitTests {
      includeAndroidResources = true
      unitTests.returnDefaultValues = true
   }
}

参考资料:http://tools.android.com/tech-docs/unit-testing-support#TOC-Method-...-not-mocked.-

6、not prepared for test:

明明已经在@PrepareForTest中加入了该类还是报这个错误,解决:
检查是否加入了:
@Rule
public PowerMockRule rule = new PowerMockRule();

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容