您的位置:首页 > 移动开发 > Android开发

Android Studio 单元测试

2016-07-18 15:09 429 查看
在功能测试有时要通过Log来验证,每次编译都需要时间,对于一些功能测试可以用Android Studio自带的单元测试功能进行调试;

在新建项目时,Android studio就已经集成了二个单元测试文件夹(androidTest和test目录 ):





测试用例

如果测试的代码没有使用android Sdk中的环境,可在test目录下新建一个测试类;

一、Test测试模式

因as自动生成了一个ExampleUnitTest类,就在此类中新建测试方法如下:

测试方法即public void的方法,并且加上@Test注解,这是Junit的标准用法;

public class ExampleUnitTest {
@Test
public void addition_isCorrect() throws Exception {
assertEquals(4, 2 + 2);
}
@Test
public void getRequest(){
OkhttpDemo okhttpDemo=new OkhttpDemo();
okhttpDemo.getRequest();

}

public class OkhttpDemo {

String url = "http://www.wooyun.org";
final OkHttpClient client = new OkHttpClient();
.get()
.tag(this)
.url(url)
.build();
try {
Response response = null;
response = client.newCall(request).execute();
if (response.isSuccessful()) {
// Log.i("WY", "打印GET响应的数据:" + response.body().string());
System.out.print(response.body().string());
} else {
throw new IOException("Unexpected code " + response);
}
} catch (IOException e) {
e.printStackTrace();
}

}
}

右击要测试的方法



显示结果如下:





如有打印语句,结果却显示如下:





这时就要检查代码中是否含有android 代码!

注意该Test模式与AndroidTest模式(extends InstrumentationTestCase 测试方式)下开线程,是不能打印出日志!!Activity模式( extends ActivityInstrumentationTestCase2<MainActivity>)完全,模拟Actvity,可以运行!

二.AndroidTest模式

代码格式

测试类名 extends InstrumentationTestCase{}

其他代码与Test类似,参考Test模式!

注意其中测试方法要以test开头!

三、Android Activity模式

代码格式

测试类名 extends ActivityInstrumentationTestCase2<要测试的Activity>{}





运行测试报错如下:





把用工具自动生成的构造器改成不带参数的;





最后,就是可以直接在 class中写 main()方法进行功能测试(不能含有android方面的代码):





右键方法名,如下图:





Android studio 在功能与方便上面 真是 完爆 Eclipse啊!

运行 OK;

来自为知笔记(Wiz)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: