下载  >  移动开发  >  Android  > Android测试,日志

Android测试,日志 评分:

Android测试,日志
黑马 Android课程笔记 就业服务部出品 K)New Andro d Test Projec Select Test Target Choose a project to test o An exist ng Android project: 七01 Helloworld t 02.D alel T 03.r t 04. Layout t 0s 创建测试类,注意要继承 AndroidTestcase ① D) New Java C|ass Java class Cleale a new Java class Package: com itl neima junit . test UNclos ng type Name: ServiceTest Miers O publit uelayll C privale C pruletleu a abstract F final <android.test AndroidTestCas Browse Interfac Which mothod stubs would you like to crcato? a public stat c yoid main(Stringl args) Co you want to add comments?(Configure templates and default value here) 7 Generate comments Bk_Net□ inishCance 编写测试类 可以直接使用被测试工程中的业务类,测试方法必须以小写“test”开头 黑马 Android课程笔记 就业服务部出品 ub11已已]asSe工3 t extends Andyoidtestcase i private Service service =new service() public void testin)( Assert. assertEquais(2r service. divide (10, 3)): poblic void test2() t A3sext, assef+S(2,吕eYV工ce,dV1ae(10,2))P public void test3(t get,SSe2七已可三工S(2,exV⊥ce, divide(10,1))F poblic void test4( t g郾et·互 sertaO山1S(2 SETvICE,a五Vide(1D,))P 2.不创建测试项目,加测试类 在 Androidmanifest xm清单文件中添加配置 <instrumentation android targetPackage="cn. itcast junit" android name="android. test. InstrumentationTestRunner"/> <uses-library android: name="android. test runner I 定义一个类继承 AndroidTestcase,定义测试方法 Junit单元测试 新建业务方法 例如计算器的加法: //计算器 public class Calc i x计算器相加的方法 x Param x param y Return public int add(int x, int y) i return x+y氵 新建 Junit测试类,对add方法进行单元测试 黑马 Android课程笔记 就业服务部出品 // Android中想要进行单元测试需要继承 Androidres tcas public class TestCalc extends AndroidTestcase f //需要写一个测试方法 public void testAdd()f //想测试计算器相加的方法 Calccalc new Calc( int result calc add(5, 6) //断 assertEquals(1l result)i 在清单文件中添加测试指令 <!--测试需要改成我们自己应用的包--> <instrumentation android: name=android. test.Instrumentationfest runner h android: targetPackage=com i theima, unit android: label-"Tests for My App"/> 运行测试方法 testadd 如图:双击方法,右键 Run as Android junit test package com. itheima unit 匚tr|+A|t+H Show in breadcrumb Alt+Shift+B import com. itheima unit Quick Outine Ctrl+T // Android中想要进行单元试需要 OFen With public class Testcalc ext Show I 写一个则 Alt+ Shift+W CUT Ctrl+x /想则或计算器相cey Calc cali nt result = c assertEguaLs(1 Quick Fix Alt+ shift tsr Alt+Shift+T At+Shit+∠ Loca History 13t ores s d Filters-图 Search for mess△ a Add to Snippets or text: tc limit scop Leve Run as J 1 Android JUnit Test nAtivity Jr 2 JUnt Test Al+shift+X,T Payelrndicalur CursorAdapter Prut点s RuIn Configurat.. Va idate 运行结果:绿条代表测试通过。 日 Console T LogCat Search Ju Unin=Pg51计围P0mnB计0,.日2量Hty0GR0,3N流,= TestA ctestEd ()[Runner: JUnit 3 Finished after 0.03 seconds Runs E± rrors!U E Failures: U 即x86240×320-16 er stor-555 rrer: jUnit311.273s) Failure I race Junit单元测试,在公司中会用到,所以大家需要掌握 黑马 Android课程笔记 就业服务部出品 Android junit拓展知识 注意:拓展知识并不是必须要求掌握的,心有余力之时可以作为进一步提升的 参考。 Android 测试环境的核心是一个 Instrumentation框架,在这个框架下,你的测试应用程序 可以精确控制应用程序。使用 Instrumentation, 你可以在主程序启动之前,创建模拟的系统对象,如 Context;控制应用程序的 多个生命周期:发送UI事件给应用程序;在执行期间检查程序状态。 Instrumentation框架通过将主程序和测试程序运行在同一个进程来实现这些功能 通过在测试工程的 manifest文件中添 加< instrumentation>元素来指定要测试的应用程序。这个元素的特性指明了要测 试的应用程序包名,以及告诉 Android如何运行测试程序。下面的图片概要的描 述了 Android的测试环境: Android os command iine Instrumentationtestrunne I s test command i test output Instrumentation Tests Components GliesE Run器s≥ Andrei nt test Instrumentation- internal state 132 iUpUi myAppTests apk m yApp. apk Android Process 在 Android中,测试程序也是 Android程序,因此,它和被测试程序的书写方式有 很多相同的地方。SDK工具能帮助你同时创建主程序工程及它的测试工程。你 可以通过 Eclipse的ADT插件或者命令行来运行 Android测试。 Eclipse的ADT提供 了大量的工具来创建测试用例,运行以及查看结果。 Android提供了基于JUni测试框架的测试API来书写测试用例和测试程序 另外, Android还提供了强大的 Instrumentation框架,允许测试用例访问程序的 状态及运行时对象。 黑马 Android课程笔记 就业服务部出品 Android junit中的主要核心API JUnit TestCase类 继承白 JUnit的 Testcase,不能使用 Instrumentation框架。但这些类包含 访问系统对象(如 Context)的方法。使用 Context,你可以浏览资源,文件,数据库等等。基类是 Androidtestcase, 般常见的是它的子类,和特定组件关联。 子类有 Application Testcase 测试整个应用程序的类。它允许你注入一个模拟的 Contex到应用程 序中,在应用程序启动之前初始化测试参数,并在应用程序结束之 后销毁之前检查应用程序 ● Providertestcase2 测试单个 ContentProvider的类。因为它要求使用 Mock Contentresolve r,并注入一个 Isolatcd Contcxt,因此 Provider的测试是与OS孤立的 Servicetestcase- 测试单个 Service的类。你可以注入一个模拟的 Context或模拟的Appl Ication(或者两者),或者让 Android为你提供 Context和 Mockapplic Instrumentation TestCase*K 继承自J Testcase类,并可以使用 Instrumentation框架,用于测试 Activity。使用 Instrument ation, Android n 以向程序发送事件来自动进行U测试,并可以精确控制 Activity的启动,监测Ac tivity生命周期的状态。 基类是 Instrumentation Testcase。它的所有子类都能发送按键或触摸事件 给UI。子类还可以注入一个模拟的 Intent。子类有 Activity TestCase--Activity测试类的基类。 Singlelaunchactivity Testcase 测试单个 Activity的类。它能触发一次 setup和 TeardOwn,而不是 每个方法调用时都触发。如果你的测试方法都是针对同一个 Activity 的话,那就使用它 黑马 Android课程笔记 就业服务部出品 ● SyncBaselnstrumentation-测试 Content Provider同步性的类。它使用 Instrumentation在启动测试同步性之前 取消已经存在的同步对象。 o Activity UnitTestcase 对单个 Activity进行单一测试的类。使用它,你可以注入模拟的Cont ex或 Application,或者两者。它用于对 Activity进行单元测试。不同 于其它的 Instrumentation类,这个测试类不能注入模拟的 INtent ● ActivityInstrumentationTestcase2— 在正常的系统环境中测试单个 Activity的类。你不能注入一个模拟的 Context,但你可以注入一个模拟的 ntent。另外,你还可以在U线 程(应用程序的主线程)运行测试方法,并且可以给应用程序U发 送按键及触摸事件。 Assert t类 Android还继了 JUnit的 assert类,其中,有两个子类, Moreasserts和Vi asserts。 Moreasserts类包含更多强大的断言方法,如 lassertContains Regex(Sti ng, String),可以作正则表达式的匹配。 View asserts类包含关于 Android view的有用断言方法,如 assertHas Screen Coordinates( View,view, int),可以测试Ⅴiw在可视区域的特定Ⅹ、Y位置。这些Ascr简化 了U中几何图形和对齐方式的测试。 Mock对象类 Android 有一些类可以方便的创建模拟的系统对象,如 application, Context, Content Resolver和 Resource。 Android还在一些测试类中提供了一些方法来创建模拟的In tent。因为这些模拟的对象比实际对象更容易使 用,因此,使用它们能简化依赖注入。你可以在 android.test和 android.test,mock 中找到这些类。 它们是: ● Isolated Context 模拟一个 Context,这样应用程序可以孤立运行。与此同时,还有大 量的代码帮助我们完成与 Context的通信。这个类在单元测试吋很有 黑马 Android课程笔记 就业服务部出品 o Renaming delegating Context 当修改默认的文件和数据库名时,可以委托大多数的函数到一个存 在的、常规的 Context上。使用这个类来测试文件和数据库与正常的 系统 Context之间的操作。 o MockApplication, Mock ContentResolver, Mock Context, Mock DialogInter face MockPackage Manager, Mock Resources 创建模拟的系统对象的类。它们只暴露那些对对象的管理有用的方 法。这些方法的默认实现只是抛岀异常。你需要继承这些类并重写 这些方 y Instrumentation TestRunner Android 提供了自定义的运行测试用例的类,叫做 Instrumentation testrunner。这个类控 制应用程序处于测试环境中,在同一个进程中运行测试 程序和主程序,并且将测试结果输出到合适的地方。 Intrumentation Testrunner 在运行吋对整个测试环境的控制能力的关键是使用 Instrumentation。注意,如果你的测试类不使用 Instrumentation的话,你也可以 使用这个 Testrunner 当你运行个测试程序时,首先会运行个系统工具叫做 Activity Manager Activity Manager使用 Instrumentation框架来启动和控制 TestRunner,这个 TestRunner反过 来又使用 Intrumentation来关闭任何主程序的实例,然后启动测试程序及主程序(同一个 进程中)。这就能确保洌试程序与主程序间的直接交互。 在测试环境中工作 对 Android程序的测试都包含在一个测试程序里,它本身也是一个 Android 应用程序。测试程序以单独的 Android工程存在,与正常的 Android程序有着相 同的文件和文件夹。测试工程通过在 manifest文件中指定要测试的应用程序。 每个测试程序包含一个或多个针对特定类型组件的测试用例。测试用例里 定义了测试应用程序某些部分的测试方法。当你运行测试程序, Android会在相 同进程里加载主程序,然后触发每个测试川例里的测试方法 测试工程 为了开始对一个 Android程序测试,你需要使用 Android工具创建一个测试 工程。工具会创建工程文件夹、文件和所需的子文件夹。工具还会创建一个ma nifest文件,指定被测试的应用程序。 黑马 Android课程笔记 就业服务部出品 测试用例 个测试程序包含一个或多个测试用例,它们都继承自 Android Testcase类。选择一个测试用例类取决于你要测试的 Android组件的类型以及你 要做什么样的测试。一个测试程序可以测试不同的组件,但每个测试用例类设 计时只能测试单一类型的组件 一些 Android组件有多个关联的测试用例类。在这种情况下,在可选择的 类间,你需要判断你要进行的测试类型。例如,对于 Activity来说,你有两个选 f, Activitylnstrumentation TestCase2 FHActivityUnitTestCase ActivityInstrumentation TestCase2设计用于进行一些功能性的测试,因此 ,它在一个正常的系统环境中测试 Activity。你可以注入模拟的 Intent,但不能 是模拟的 Context。般来说,你不能模拟 Activity间的依赖关系。相比而言,A ctivity UnitTestCase设计用于单元测试,因此,它在一个孤立的系统环境中测试 Activity。换句话说,当你使用这个测试类时, Activity不能与其它 Activity交互 作为一个经验法则,如果你想测试 Activity与 Android的交互的话,使用Acti vityInstrumentation Testcase2。如果你想对一个 Activity做回归测试的话,使用Ac tivity UnitTestcase 测试方法 每个测试用例类提供了可以建立测试环境和控制应用程序的方法。例如, 所有的测试用例类都提供了 JUnit的 setUp方法来搭建测试坏境。另外,你可以 添加方法来定义单独的测试。当你运行测试程序时,每个添加的方法都会运行 次。如果你重写了seUp(方法,它会在每个方法运行前运行。相似 的, tear DownO方法会在每个方法之后运行。 测试用例类提供了大量的对组件启动和停止控制的方法。由于这个原因, 在运行测试之 前,你需要明确告诉 Android启动一个组件。例如,你可以使川 getActivityo来启 动一个 activity。在整个测试用例期间,你只能调 用这个方法一次,或者每个测试方法一次。甚至你可以在单个测试方法中,调 用它的 finishing来销毁 Activity,然后再调用 getActivityO重新启动一个。 运行测试并查看结果 编译完测试工程后,你就可以使用系统工具 Activity Manager来运行测试程序。你给 Activity Manager提供了 Testrunner的名(一般是 Instrumentation Testrunner,在程序中指 定);名包括被测试程序的包名和 TestRunner的名。 Activity Manager加载并启动你的测试程序,杀死主程序的仁何实例,然后在测试程序的 同一个进程甲加载主程序,然后传逸测试程序的第一个测试用例。这个时 候, Testrunner会接管这些测试用例,运行里面的每个测试方法,直到所有的 方法运行结東

...展开详情
2016-03-28 上传 大小:678KB
举报 收藏
分享
html+css+js制作的一个动态的新年贺卡

该代码是http://blog.csdn.net/qq_29656961/article/details/78155792博客里面的代码,代码里面有要用到的图片资源和音乐资源。

立即下载
qBittorrent插件集合(22个)

btetree.py cpasbien.py divxtotal.py ilcorsaronero.py kickass.py leetx.py limetorrents.py linuxtracker.py nyaa.py nyaapantsu.py nyaasi.py pantsu.py psychocydd.py rarbg.py rutor.py skytorrents.py sukebei.py sumotorrent.py tntvillage.py torrent9.py torrentfunk.py zooqle.py

立即下载
万能BIOS刷新工具Universal Flash Utility V8.95

近期在网搜刷新工具时,寻得这组万能刷新工具类型的希缺资源[正宗正版工具软件],特上传bios之家论坛,对号最需要它的爱好者群!软件版权归属原作品发布方,提供与本网站各界爱好者试用,以便交流刷新比较困难的 bios 实际使用经验![[ 其中的895工具是在本论坛首次亮像,=本论坛335469299用户曾在2011年6月29日发表过848的使用资料=各位可划文搜链接[ ==http://bbs.bios.net.cn/?8024== ]看 用户 awb 空间 所存载主题=求万能bios刷写工具flash849.exe-=之=-335469299 -=所回帖发布软件介绍使用参数 参考试用万能 bio

立即下载
基于eclipse+MySQL的图书馆管理系统

基于eclipse+MySQL的图书馆管理系统,可以实现读者的注册、借书和还书,管理员的管理等等操作,是一个功能全面的图书馆管理系统

立即下载
压缩包爆破解密工具(7z、rar、zip)

压缩包内包含三个工具,分别可以用来爆破解密7z压缩包、rar压缩包和zip压缩包。

立即下载
服务器CPU天梯图_最全CPU天梯图

主要是服务器CPU天梯图_最全CPU天梯图,文字版,不是图片

立即下载
公司年会滚动抽奖系统

基于HTML5和JS的公司年会抽奖系统。 该抽奖功能描述: 1).随机所有号码并且不重复出现。 2).中过奖的人,不能再进行抽奖。(不会中了2等奖在去中1等奖) 3).可以自定义抽奖的号码(姓名或数字),需要手动添加至HTML5代码中。

立即下载
企业IT架构转型之道:阿里巴巴中台战略思想与架构实战(完整版)

企业IT架构转型之道:阿里巴巴中台战略思想与架构实战(完整版)

立即下载
2018年数模美赛全部题目A~F题(包括英文版,中文版)

这是我2018年参加数模美赛时全部题目A~F题,包括英文版,中文翻译版题目,适合参加数模国赛和美赛的同学熟悉一下题目。

立即下载
C++Primer.Plus(第6版)中文带完整书签.pdf

C++Primer.Plus(第6版)中文带完整书签.pdfC++Primer.Plus(第6版)中文带完整书签.pdfC++Primer.Plus(第6版)中文带完整书签.pdfC++Primer.Plus(第6版)中文带完整书签.pdf

立即下载
C Primer Plus (第6版)完整中文版_高清.pdf

c primer plus算是c语言的经典教材了,用来作为进入编程世界的第一本书是完全没有问题的,也适用于精通其他编程语言并希望进一步掌握和巩固C编程技术的程序员。

立即下载
身份证号对应籍贯表大全(共6456条)

身份证号对应籍贯表大全(共6456条),可以很方便查出身份证对应的籍贯,方便工作、项目使用

立即下载