【发布时间】:2016-09-26 19:06:39
【问题描述】:
我是 Robolectric 和 Mockito 的新手。 我尝试编写一个简单的单元测试,但静态最终值来自 我的 Preferences 类为空,我不知道如何解决它。
【问题讨论】:
-
分享您的代码。还要注意 Mockito 不能模拟静态和决赛
-
嗨,我想在这个课程pastebin.com/EYCycQbHI 测试下载横幅方法。这是我的 测试 pastebin.com/XYDpSBAW,从这个类中我无法获得静态最终 url pastebin.com/bEcgRPjX。当我使用 MockitoTestRunner JsonObject.toString() 返回 null,所以我切换到 RoboletricTestRunner,无论如何我对 android 中的单元测试非常困惑。我在我的项目中使用 gradle,但现在我很困惑我必须使用 Mockito 或 Roboletctric 进行单元测试,或者同时使用它们。
-
嗨,我错了,IndexPreferences.ADVERTICUM_ADVERT 不为空。我将此变量作为参数传递给 OkHttpRequest,当我写出请求时,我得到这个:Request{method=POST, url=null, tag=null} 但是当我写出变量时,我得到这个输出:url:@ 987654324@ 所以我认为,reqeust 的 toString() 被模拟并为 url 返回 null。
-
好的,我的测试几乎成功了。我必须像 pastebin.com/s4D4WMim @InjectMocks Adverticum adverticum 一样初始化我的 ADVERTICUM_ID 变量;但是我可以将 adverticum 注入到我的班级中,但是 Adverticum 的依赖项没有被注入(SharedPreference)
标签: unit-testing mockito robolectric