如何在android上使用jmock?我有好几个帖子说这不可能,但肯定有办法吗?
问题似乎是让android甚至能识别jmock jar文件。所以也许有一个解决方案,将jar放入资产中,并定制一个类加载器?这看起来有很多麻烦,但听起来有用吗?

最佳答案

我让jmock在android开源测试项目中工作。
是:jMock代码在您手中的设备上执行;-)
我用过:
jmock-2.5.1.jar文件
重新包装的hamcrest-all-1.1.jar(我会解释)
jmock-junit3-2.5.1.jar文件
有关android jmock测试用例http://github.com/olibye/ToneDial/blob/master/ToneDialTest/src/net/xpdeveloper/dialer/test/TestDialServiceTest.java
以下是我必须克服的三个问题:
汉克雷斯特包装
hamcrest的多重打包无法通过android包验证。
在android adk中出现的错误是:
生成最终存档时出错:重复条目:license.txt
解决方案
解压缩hamcrest-core-1.1.jar
在同一目录中解压缩hamcrest-library-1.1.jar。
这是第二次解压缩覆盖manifest.mf和license.txt。
拉链../hamcrest-all-1.1.jar
最初我和史蒂夫和纳特一起为杰莫克提出这个问题
http://jira.codehaus.org/browse/JMOCK-242
不过,这真的是乔在汉克雷斯特的包装问题(所以我就把它贴在那里;-)
http://code.google.com/p/hamcrest/issues/detail?id=125
JUnit包装
eclipse中的junit插件包含hamcrest的一个子集。
解决方案
您需要在eclipse项目属性中,将junit库移到jmock之后的类路径中。
安卓包装
junit v3是android.jar的一部分,因此不能使用junit 4风格的jmock测试。
我们还没有注释;-)

10-04 11:31