Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/199.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
通过模仿几个android api类在android项目上使用JUnit?_Android_Junit_Mocking - Fatal编程技术网

通过模仿几个android api类在android项目上使用JUnit?

通过模仿几个android api类在android项目上使用JUnit?,android,junit,mocking,Android,Junit,Mocking,我的android项目中有一些源代码,它们只使用普通java代码。 我为这个类创建了UnitTests(JUnitTests,JUnit)来测试它们 问题是这些函数在内部使用了一些android类。 目前这些是Log和Base64 现在我正在寻找一种简单的方法来模拟这个类,但我没能做到 我在谷歌上搜索了很多模拟工具,比如jmocking、mockito、robolectric等等,但我对这些库感到非常困惑,没有找到一个可以使用的工具 我没有找到一个好的循序渐进的教程,它告诉我如何简单地模拟一些a

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

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

现在我正在寻找一种简单的方法来模拟这个类,但我没能做到

我在谷歌上搜索了很多模拟工具,比如jmocking、mockito、robolectric等等,但我对这些库感到非常困惑,没有找到一个可以使用的工具

我没有找到一个好的循序渐进的教程,它告诉我如何简单地模拟一些android类,这样我就不会得到这个存根/classnotfound错误

问题是:

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

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

谢谢,
Subby

我不确定任何模拟库是否会完全支持Android。Android和Mock不合拍有几个技术原因

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


对于单元测试,通常注入依赖项,但有一些限制。毕竟,您不需要对乘法运算进行单元测试!您可以对Android类进行单元测试,一旦您确信它们工作正常,就可以假设它们工作正常。

您需要robolectric来模拟Android类:

嘿。我不需要完全支持android。我只需要模拟日志和Base64类。