Android Studio 单元测试

在功能测试有时要经过Log来验证,每次编译都须要时间,对于一些功能测试能够用Android Studio自带的单元测试功能进行调试;
android

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

 

 

测试用例 单元测试

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

1、Test测试模式 ui

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

 

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

public class ExampleUnitTest {
    @Test
    public void addition_isCorrect() throws Exception {
        assertEquals(42);
    }
    @Test
    public void getRequest(){
         OkhttpDemo okhttpDemo=new OkhttpDemo();
 okhttpDemo.getRequest(); spa

} 线程

 

public class OkhttpDemo { 3d

    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开头!

 

3、Android Activity模式

代码格式

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

 

 

 

运行测试报错以下:

 

 

 

 

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



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

 

 

右键方法名,以下图:


 

 

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

运行 OK;



相关文章
相关标签/搜索