如何在Robolectric测试中模拟/存根对象?

3

在Robolectric测试中,最佳的模拟/存根对象的方法是什么?

我的目标是以TDD方式编写Android代码。目前我正在使用接口,在测试中创建实现这些接口的模拟类。这个过程很费时间。是否有一种更简单的方法来存根现有类的方法(在Robolectric中)?

1个回答

3

我只能就这个话题发表我的意见。

我更喜欢MVP模式。

  • Java类中你可以模拟视图 (Android内容) 并测试纯逻辑
  • Android类中,我会模拟我的Presenter和类似的类,初始化将由Robolectric完成,仅通过创建阶段即可。大多数视图方法只是委托者。

第二个点非常好,因为Robolectric已经提供了 "stub" 类。所有我无法使用纯Android检查的内容都可以通过Shadow类进行检查。

但也许您只是在寻找Shadow类功能,http://robolectric.org/custom-shadows/ 这里您可以存根方法。

更新:这里还有一个例子,说明我如何做到这一点https://github.com/nenick/android-gradle-template/


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接