ActivityInstrumentationTestCase2<T extends Activity>
第一个类,把过程按照http://www.developer.com/ws/android/development-tools/getting-started-with-junit-on-android.html 的文档过一遍
1 在项目右键,建立Test的Project
2 建立后, 填写名字,选择项目,最后finish。
3 new 一个 Junit Test Case
4 填写内容注意:
父类:android.test.ActivityInstrumentationTestCase2<T> 泛型T为要测试的Activity
(原文拼写错误了android.test.ActivityInstrumentTestCase2,自己也差点错了)
5 类中的方法注意:
去掉构造中的参数,以及添加含2个参数的构造, ①带命名空间的类名 ②测试的类的class
public RoomTest() {
super("com.gb.lee.room.EE_DialogRoomActivity",
com.gb.lee.room.EE_DialogRoomActivity.class);
}
必须使用无参的构造,如果使用有参的,会失败【不懂为什么,自动生成的有参试,需要手动修改......】
添加Override的2个方法:setUp(); tearDown();
测试简单的方法,【 通过getActivity()得到测试activity中的方法】
public void testRoom() {
int i = getActivity().add(2, 3);
assertEquals(5, i);
}
最近进行单元测试就可以了
后记:
这个只能测试Activity,如果要测试与服务器连接后的一些逻辑操作,需要在activity中填写对应逻辑的方法?还要是public的,private通过getActivity()得不到对应的方法。
如果是对外提供的jar包,肯定不能写成private,还需要用反射得到对应的方法,再测试?
【不是很理解,可能其他的类可以解决这个问题!!】
如果要了解更多,去 http://junit.org/ , 上午进不去,只能试着翻墙了