zoukankan      html  css  js  c++  java
  • Android配置 常规单元测试

    Android单元测试分为两个部分, 一部分是与Android本身无关的测试,也就是业务逻辑测试,该部分测试不涉及Activity这一层,我们暂且成为常规的单元测试。另外的一种测试就是于Activity相关的单元测试


    这里,我们先谈一下于Activity无关的常规单元测试


    在通常情况下,我们会选择在需要添加测试用例的类上边点击右键,选择new/JUnitTestCase然后,Eclipse会跳出一个让你选择添加测试用例的基本信息。比如类名,包名什么的。添加完毕后,然后在自动产生的方法上点击右键 run as /Junit Test.这时候,会出现一个错误

    Internal Error (classFileParser.cpp:3161), pid=5320,tid=6952

    #  Error:ShouldNotReachHere()


    下面说一下详细步骤

    1 创建项目DroidUnitTest。

     在包中加入处理业务逻辑的类MyDataHelper ,在里边添加一个方法(内容随意)。新建 名为test 的sourcefolder,添加测试包。然后在MyDataHelper上右键,选择new/JUnitTestCase .填写包名,类名等信息,点击ok,如图所示。



    2. 在MyDataHelper中添加如下方法


    在MyDataHelperTest中添加如下内容


    在 addTest点击鼠标右键,选择runas JuitTest,你会收到如下错误

    #

    # A fatal error has been detected by the Java RuntimeEnvironment:

    #

    #  Internal Error(classFileParser.cpp:3161), pid=5320, tid=6952

    #  Error:ShouldNotReachHere()

    #

    # JRE version: 6.0_22-b04

    # Java VM: Java HotSpot(TM) Client VM (17.1-b03 mixedmode windows-x86 )

    # An error report file with more information is saved as:

    #D:\eclipse_develope\workspace\DroidUnitTest\hs_err_pid5320.log

    #

    # If you would like to submit a bug report, please visit:

    #  http://java.sun.com/webapps/bugreport/crash.jsp

    #

     

    不用担心,这是因为Android默认运行单元测试的是Android.jar2.2,而Juint是基于jre 以及Junit的,所以,运行会失败,同时也跟Android做的单元测试封装有关。看接下来的配置

    3.选择项目,Run asconfiguration ,在弹出的界面中要将Bootstrap一项Android2.2移除,并添加jre 以及 Junit(以及其他你单元测试要用到的包)。其实也就是你要配置一下运行Junit时的环境。如图所示。




    配置完成之后,在项目上选择run as configuration 找到刚才所建立的Junit ,点击run即可看到运行的单元测试的效果。当然你可以选择其他的Junit节点下的测试配置,只要保证该配置的BootstrapEntries没有错即可。




    在单个方法上运行测试用例是也是一样,只要保证运行时的配置没问题,就行了。


    4. 你需要注意,如果你要测试的方法中引入了某些包,那么你这个Bootstrap Entries 也应该包含该包,否则测试用例将会找不到对应的类。

    例如,我们在MyDataHelper中调用了Android包中HttpClient 类,那么在对单元测试的run进行配置时,也应该加入该类所在的包。但是,绝不能加入Android.jar应为这样的话,你又回到原来的问题上来。应该只加一部分。可以从网上找到相应的包,在runconfiguration中,点击 add external jar将这些包加入到Bootstrap Entries中,再run就可以了。


    Ok,Android上的常规单元测试就介绍到这里,在接下来的文章中,我将介绍如何建立Activity的单元测试。


  • 相关阅读:
    众多linux 库及工具意思的解释
    ubuntu root 登录
    Oscillator的参数解释
    世界观和方法论写给学弟学妹的
    元件的降额使用可靠度设计
    电子元件又一话——电感篇
    【转】什么是磁珠(Ferrite Bead 即 FB)
    Digital System Design Guidelines
    几种典型接口的电平标准
    珀耳帖效应
  • 原文地址:https://www.cnblogs.com/linecheng/p/2210949.html
Copyright © 2011-2022 走看看