0

我的 android 项目中有一些只使用纯 java 代码的源代码。我为这些类创建了 UnitTests (JUnit) 来测试它们。

问题是这些函数在内部使用了一些 android 类。目前这些是 Log 和 Base64。

现在我正在寻找一种简单的方法来模拟这些类,但我无法这样做。

我用谷歌搜索了很多模拟工具,如 jmocking、mockito、robolectric 等,但我对这个库很困惑,没有一个可以工作。

我没有找到一个好的分步教程,它向我展示了如何简单地模拟一些 android 类,所以我没有得到这个 stub / classnotfound 错误。

问题是:

  • 最常用的android模拟库是什么?

  • 如何模拟一些我不直接在我的 UnitTest 中使用但由我调用的函数使用的类?

谢谢, 苏比

4

2 回答 2

0

您需要 robolectric 来模拟 Android 类:http ://pivotal.github.com/robolectric/index.html

于 2013-02-16T20:34:31.603 回答
0

我不确定任何模拟库是否会完全支持 Android。Android 和 mock 不能相处有几个技术原因。

如果要对使用 Android API 的 java 对象进行单元测试,通常必须使用 android.test.* 中的测试用例类之一。Android 类通常需要一个 Android 上下文才能正常工作。

对于单元测试,您通常会注入一个依赖项,但也有限制。毕竟,您不会对乘法运算进行单元测试!您可以对 Android 类进行单元测试,一旦您对它们的工作感到满意,您就可以假设它们工作正常。

于 2012-11-21T22:32:59.007 回答