今天做测试的时候碰到一些问题,现在总结下简单使用Junit的方法:
1.首先在AndroidMinifest.xml文件里面的<application></application>里面加入下面代码,导入lib包
<uses-library android:name="android.test.runner"/>
2.在<manifest></manifest>目录下加入下面代码,后面android:targetPackage加的是自己的包名
<instrumentation android:name="android.test.InstrumentationTestRunner"
android:targetPackage="com.**.activity"/>
3.测试类需要继承AndroidTestCase类
例子这里就不列举了,下面说下我碰到的3个异常:
1、Test run failed: Unable to find instrumentation target package: com.***
2、Test run failed: Unable to find instrumentation info for: ComponentInfo{com.**/android.test.InstrumentationTestRunner}
刚开始我怀疑这里的包名是否需要与<manifest>的包名相同,后来我试验了一下,不一定要相同的,后来还 碰到了第二个异常,这2个异常其实就是包名的问题,确保包名没问题后把包名删掉重新输入或clean下项目,这 2个问题就消失了,很奇怪,遇到的猿友不妨试试。
3、Test run failed: Test run failed to complete. Expected 1 tests, received 0
这个异常可能产生的方法有2种,我碰到的一种是测试方法的访问权限的问题,可能你用了private, 改为用public就可以了
第二种可能就是泛型的问题,
解决办法:找到是构造函数的事,于是把泛型去掉, 然后用不带参数的构造函数,在构造函数里调用super(“com.xxx.xxx”, Activity.class); 就Ok了。
泛型这个方法是网上找的,仅供大家参考。