我试图在Android上构建一个使用mockito.org上的mockito-all-1.8.5.jar文件的单元测试。我使用项目>属性>项目构建路径>添加外部jar将jar文件添加到我的项目中。这对我一直在非Android的Java项目上工作。Android Junit测试-Mockito类未发现异常
然而,当我运行单元测试,我得到没有发现下面的类例外:
抛出java.lang.ClassNotFoundException:org.mockito.runners.VerboseMockitoJUnitRunner
它上面以下信息:
无法加载类。确保它在您的apk中。类名称:'org.mockito.runners.VerboseMockitoJUnitRunner'。消息:org.mockito.runners.VerboseMockitoJUnitRunner
我检查了jar,并且类在那里。
我也尝试添加按照此链接:
How to use and package a JAR file with my Android app?
但是,仍然没有运气。我怎样才能找到这个类?
编辑:我在想任何库Mockitto都依赖于它的问题 - 它们可能与Dalvik jvm不兼容。看到此信息:
http://daverog.wordpress.com/2009/12/14/why-android-isnt-ready-for-tdd-and-how-i-tried-anyway/
1)导入模拟框架(例如的Mockito)到项目作为附加的依赖性。 任何包含未编译为Dalvik字节码(最多)的类文件的导入jar文件都不起作用。尝试编译源代码以及项目将不起作用,因为大多数库都会广泛使用与Dalvik不兼容的Java语言部分:它使用基于Apache Harmony Java实现的子集构建的自己的库。
你确定你的项目中有jUnit吗?考虑到它不能加载类'VerboseMockito' **'JUnit' **'Runner',可能是因为这个原因。 – Spoike 2011-05-14 19:54:43
如果仍有问题,请直接询问mockito开发者或提交[错误报告](http://code.google.com/p/mockito/issues/list)。 – Spoike 2011-05-14 19:57:07