zoukankan      html  css  js  c++  java
  • Android Studio 单元测试

    在功能测试有时要通过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(42);
        }
        @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;





  • 相关阅读:
    如何将一个PDF文件里的图片批量导出
    (二十二)golang--时间和日期相关函数
    (二十一)golang--字符串中的函数
    (二十)golang--变量的作用域
    (十九)golang--函数参数的传递方式
    (十八)golang--defer关键字
    (十七)golang--闭包(简单明了)
    (十六)golang--匿名函数
    (十五)golang--init函数
    【自然语言处理】双语数据预处理
  • 原文地址:https://www.cnblogs.com/ut2016-progam/p/5681288.html
Copyright © 2011-2022 走看看