MCPcopy Index your code
hub / github.com/cloudchou/RobolectricDemo

github.com/cloudchou/RobolectricDemo @TAG-1.0.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release TAG-1.0.0 ↗ · + Follow
92 symbols 195 edges 23 files 19 documented · 21% updated 10y agoTAG-1.0.0 · 2016-07-04★ 33
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

RoboletricDemo

本项目用于演示如何使用Robolectric做单元测试,使用的Robolectric版本是3.0

Robolectric 3.0不能直接针对非Android Sdk的类做Shadow,必须使用Powermock或者mockito来处理这种情况,Powermock支持partial mock,也就是说mock某个类时,不需要为这个类的所有函数做mock处理,只需针对需要改变行为的函数进行mock就可以了,但是不能对Android sdk的类做mock,因为Robolectric框架已经将这些类都替换成了Shadow类

Robolectric 3.1 已支持针对非AndroidSdk的类做Shadow,但是不支持Powermock

总的来说如果为每个要hack的类都创建Shadow类,然后为每个要hack的函数都创建shadow函数还是非常麻烦的事情,相对来说,使用PowerMock需要添加的代码就少很多,所以建议使用Robolectric 3.0+power mock+mockito来做单元测试,就已经足够

本项目演示了如下几种使用场景:

  1. 简单使用Robolectric测试框架
  2. 使用Robolectric框架的shadow
  3. 使用Robolectric测试代码包下的资源加载
  4. 使用Robolectric测试assets资源加载
  5. 使用Robolectric+powermock+mockito进行单元测试,这种单元测试方式有非常强的实用性
  6. 使用Robolectric测试多线程的情况
  7. 使用Robolectric测试Volley

本项目的有测试的讲解都在博客上: http://www.cloudchou.com

Core symbols most depended-on inside this repo

Shape

Method 66
Class 25
Enum 1

Languages

Java100%

Modules by API surface

app/src/main/java/com/cloudchou/robolectrictest/HelloThread.java11 symbols
app/src/main/java/com/cloudchou/robolectrictest/VolleyRequester.java9 symbols
app/src/main/java/com/cloudchou/robolectrictest/SLog.java9 symbols
app/src/test/java/com/cloudchou/robolectrictest/PowerMockVerifyTest.java7 symbols
app/src/main/java/com/cloudchou/robolectrictest/HelloUtils2.java7 symbols
app/src/test/java/com/cloudchou/robolectrictest/CloudSystemProperties.java6 symbols
app/src/test/java/com/cloudchou/robolectrictest/CloudSystemProperties2.java5 symbols
app/src/test/java/com/cloudchou/robolectrictest/ShadowTest.java4 symbols
app/src/test/java/com/cloudchou/robolectrictest/VolleyRequesterTest.java3 symbols
app/src/test/java/com/cloudchou/robolectrictest/RobolectricGradleTestRunner2.java3 symbols
app/src/test/java/com/cloudchou/robolectrictest/PartialPowerMockTest.java3 symbols
app/src/test/java/com/cloudchou/robolectrictest/HelloThreadTest.java3 symbols

For agents

$ claude mcp add RobolectricDemo \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page