小启:涉及到业务逻辑需要取数据的时候,可以先做模块测试,看数据取出有没有问题,然后再在模拟器中加UI部分运行。
话说本例中的模块测试方法需要用到服务器端的数据,还涉及Json数据的解析,虽然这两块东东我还不懂,但觉得这个测试方法仍然具有普适性,适用于在大型工程项目中,对局部功能模块(例如这里的抓取网络数据)进行测试。可以避免每次测试的时候使用模拟器加载UI,以提高测试效率。
1> 在清单文件Manifest文件中:选择:Instrumentation标签->add->双击打开,添加约束->Target Package:选择包名;Name:选择(自动);保存
然后在Manifest.xml文件中就会出现标签的东东,表示添加成功(不建议手动添加本代码)。
2> 然后在该文件的application标签下添加下面中间这句:
android:allowBackup=”true”
……
android:name=”android.test.runner”/>//新添加的是这句哦~可以不断Alt+/来提示代码完成。
3> 在目标包的下面建测试包test,在该包中新建class文件:
Name:MyTest
SuperClass:android.test.AndroidTestCase
注意:不要在Android中添加main函数,不可以~
package cn.edu.seu.android_asynTask.test;
import android.test.AndroidTestCase;
public class MyTest extends AndroidTestCase(
private final String TAG = “MyTest”;
String path = “http://192.168.114.121:8080/productweb/CityAction?type=json“;//注意这里的Type,以及网络数据源
public MyTest(){
}
public void testxml(){
}
public void testJson(){
String jsonString = HeepUtils.sendPostMethod(path,”utf-8″);
Log.i(TAG,”—>>”+jsonString);
List<</SPAN>String> list = JsonTools.parseList(jsonString);
Log.i(TAG,”—>>”+list);
}
)
4>双击testJson函数,右键->Run as->Android JUnit Test。