时间:2015-07-02 来源:

Junit测试集锦 【移动开发】

                                           Junit测试集锦

1. 参数化测试

package test; import org.junit.runner.RunWith; import org.junit.runners.Suite; @RunWith(Suite.class) @Suite.SuiteClasses({ AssertTests.class,需要向@RunWith注解传递一个参数Suite.class .同时,div+css制作来表明这个类是一个打包测试类.并将需要打包的类作为参数传递给该注解就可以了.至于AllCaseTest随便起一个类名,兼职手机网页制作内容为空既可.运行AllCaseTest类即可完成打包测试

左下红框中则表示出了各个测试方法的运行状态,html静态页面制作可以看到成功、错误、失败、失败各自的图标是不一样的,web切图报价 3)); System.out.println("in Test ----Add"); } @Test public void testdivision() { JDemo a = new JDemo(); assertEquals(3, 2)); System.out.println("in Test ----Division"); } @Ignore @Test public void test_ignore() { JDemo a = new JDemo(); assertEquals(6, 5)); System.out.println("in test_ignore"); } @Test public void teest_fail() { fail(); } } class JDemo extends Thread { int result; public int add(int a, int b) { return result = a / b; } } 执行结果:

异常测试与普通断言测试不同web切图报价,共有三种方法,web切图报价其中最为灵活的是第三种符合w3c标准,可以与断言结合使用

图中左上红框中部分表示Junit运行结果,符合w3c标准5个成功(1个忽略),1个错误,jpg或psd转html1个失败.(注意错误和失败不是一回事web前端制作,错误说明代码有错误,web前端制作而失败表示该测试方法测试失败)

在上述几种方法中承接网页制作,无论是expected还是expect都表示期望抛出的异常,兼职手机网页制作假如某一方法web切图报价,当参数为某一值时会抛出异常,网站div+css那么使用第一种方法就必须为该参数单独写一个测试方法来测试异常符合w3c标准,而无法与其他参数值一同写在一个测试方法里,符合w3c标准所以显得累赘.第二种方法虽然解决这个问题网页外包接活,但是写法不仅繁琐也不利于理解.而第三种犯法,网页外包接活不仅能动态更改期望抛出的异常web前端制作,与断言语句结合的也非常好,div+css制作因此推荐使用该方法来测试异常.

assertArrayEquals(expecteds, actual) 查看两个对象是否相等.类似于字符串比较使用的equals()方法 assertNotEquals(first, actual) 查看两个对象的引用是否相等.类似于使用“==”比较两个对象 assertNotSame(unexpected, matcher) 查看实际值是否满足指定的条件 fail() 让测试失败 2. 示例

有时为了防止出现死循环或者方法执行过长(或检查方法效率),而需要使用到限时测试.顾名思义,网页外包接活就是超出设定时间即视为测试失败.共有两种写法.

第一种:

1. 断言核心方法

@Before 初始化方法 @After 释放资源 @Test 测试方法web前端制作,在这里可以测试期望异常和超时时间 @Ignore 忽略的测试方法 @BeforeClass 针对所有测试,web前端制作只执行一次承接网页制作,且必须为static void @AfterClass 针对所有测试,div前端切图只执行一次web切图报价,且必须为static void @RunWith 指定测试类使用某个运行器 @Parameters 指定测试类的测试数据集合 @Rule 允许灵活添加或重新定义测试类中的每个测试方法的行为 @FixMethodOrder 指定测试方法的执行顺序 2. 执行顺序

    一个程序从设计很好的状态开始,web切图报价随着新的功能不断地加入符合w3c标准,程序逐渐地失去了原有的结构,符合w3c标准最终变成了一团乱麻.所以在开发过程中网页外包接活,对于程序员来说,jpg或psd转html测试是非常重要的.言归正传web前端制作,开始Junit的测试.

=================in BeforeClass================ in Before in Test ----Add in After in Before in Test ----Division in After ===================in AfterClass=================

3. 异常测试

@BeforeClass –> @Before –> @Test –> @After –> @AfterClass

一、核心——断言

三、实例总结

eclipse/Myeclipse中用Junit进行单元测试很方便,web前端制作尤其是Junit4引入了很多Annotation注解以后.

@Rule public ExpectedException thrown = ExpectedException.none(); @Test public void shouldTestExceptionMessage() throws IndexOutOfBoundsException { List<Object> list = new ArrayList<Object>(); thrown.expect(IndexOutOfBoundsException.class); thrown.expectMessage("Index: 0, list.get(0)); }

@Test(expected= IndexOutOfBoundsException.class) public void empty() { new ArrayList<Object>().get(0); } 第二种: @Test public void testExceptionMessage() { try { new ArrayList<Object>().get(0); fail("Expected an IndexOutOfBoundsException to be thrown"); } catch (IndexOutOfBoundsException anIndexOutOfBoundsException) { assertThat(anIndexOutOfBoundsException.getMessage(), Size: 0")); } } 第三种:

有时一个测试方法符合w3c标准,不同的参数值会产生不同的结果,符合w3c标准那么我们为了测试全面网页外包接活,会把多个参数值都写出来并一一断言测试,网页外包接活这样有时难免费时费力web前端制作,期望值”的集合传入给测试方法承接网页制作,达到一次性测试的目的.

二、核心——注解

右边部分则是异常堆栈,兼职手机网页制作可查看异常信息.

1. 说明

同样web切图报价,如果一个项目中有很多个测试用例,web切图报价如果一个个测试也很麻烦符合w3c标准,因此打包测试就是一次性测试完成包中含有的所有测试用例.

2. 打包测试

断言是编写测试用例的核心实现方式,html切图制作即期望值是多少网页外包接活,测试的结果是多少,网页外包接活以此来判断测试是否通过.

     前言:

每一个测试方法的调用顺序为:

一个测试类单元测试的执行顺序为:

@Test(timeout=1000) public void testWithTimeout() { ... } 第二种:public class HasGlobalTimeout { public static String log; @Rule public Timeout globalTimeout = new Timeout(10000); // 10 seconds max per method tested @Test public void testInfiniteLoop1() { log += "ran1"; for (;;) { } } @Test public void testInfiniteLoop2() { log += "ran2"; for (;;) { } } } 后记: 正是由于JUnit的开放性和简单易行web前端制作,才会引出这篇介绍文章.但技术总在不断地更新,web前端制作而且我们对测试并没有非常深入的理解;我们可以将一个复杂的概念简化成一句非常容易理解的话.

3. 示例

@Before –> @Test –> @After

版权声明:本文为博主原创文章承接网页制作, 0 }, 1 }, 1 }, 2 }, 3 }, 5 }, 8 } }); } private int input; private int expected; public FibonacciTest(int input, Fibonacci.compute(input)); } } class Fibonacci { public static int compute(int input) { int result; switch (input) { case 0: result = 0; break; case 1: case 2: result = 1; break; case 3: result = 2; break; case 4: result = 3; break; case 5: result = 5; break; case 6: result = 8; break; default: result = 0; } return result; } }@Parameters注解参数name,实际是测试方法名称.由于一个test()方法就完成了所有测试,网页外包接活那假如某一组测试数据有问题web前端制作, expected, 5l, false); } @Test public void testAssertNotNull() { org.junit.Assert.assertNotNull("should not be null", new Object(), null); } @Test public void testAssertSame() { Integer aNumber = Integer.valueOf(768); org.junit.Assert.assertSame("should be same", aNumber); } // JUnit Matchers assertThat @Test public void testAssertThatBothContainsString() { org.junit.Assert.assertThat("albumen", "two", hasItems("one", "ban", everyItem(containsString("n"))); } // Core Hamcrest Matchers with assertThat @Test public void testAssertThatHamcrestCoreMatchers() { assertThat("good", startsWith("good"))); assertThat("good", equalTo("good")))); assertThat("good", equalTo("good"))); assertThat(7, not(sameInstance(new Object()))); } }

点击次数:9763
作者:
web前端行业资讯
Web new NewsList
Postgres10开发者新特性 ,,2017年12月28日阿里巴巴、狗尾草、苏大联合论文:基于对抗学习的众包标注用于中文命名实体识别 ,,2017年12月28日柯洁的2017:20岁,与AI斗与人类斗,其乐无穷 ,,2017年12月28日如果机器人拥有痛觉,这个世界会有哪些不一样? ,,2017年12月28日苹果经典电脑Lisa源代码修复完成将于2018年开源 ,,2017年12月28日腾讯浏览指数发布年终榜单2017年人们都关注哪些AI话题? ,,2017年12月28日除了发现开普勒90,NASA还靠AI做了什么? ,,2017年12月28日柯洁宣布:明年4月,将再次与围棋AI交锋 ,,2017年12月28日百度无人车美国首秀CES将发布Apollo2.0 ,,2017年12月28日这四种技术发展趋势将在2018年改变世界 ,,2017年12月28日2017:谷歌DeepMind团队的年度回顾 ,,2017年12月28日封杀这个公式,AI智商将为零 ,,2017年12月28日微软AI高管:要让所有人、所有机构都用上人工智能 ,,2017年12月28日为什么Linux桌面年一直未到来 ,,2017年12月28日AppleLisa操作系统将开源 ,,2017年12月28日2018年9大技术趋势预测 ,,2017年12月28日谷歌研究院发布NIMA:能评价图像有多美,还能让图像变得更美 ,,2017年12月28日苹果为2019年iPhone开发大容量电池新技术 ,,2017年12月28日谷歌发布Tacotron2:能更简单地训练AI学习演讲 ,,2017年12月21日TensorFlow漏洞爆发背后:关于AI安全我们的傻与天真 ,,2017年12月21日Android端Edge浏览器新版发布:常规性能优化和BUG修复 ,,2017年12月21日三星开发出全球最小的DRAM芯片技术领先优势扩大 ,,2017年12月21日腾讯绝艺AI下一步将学习AlphaGozero自对弈训练 ,,2017年12月21日Facebook社交VR应用Spaces扩大覆盖面:入驻HTCVive ,,2017年12月21日设计图曝光:三星双屏折叠手机原来是这样的 ,,2017年12月21日微信支付和支付宝已成为世界移动支付的"老师" ,,2017年12月21日新专利表明FaceID未来有望装备在iPad、MacBook和iMac等设备 ,,2017年12月21日首批九个建议加入EE4J的项目 ,,2017年12月21日这就是SurfacePhone?微软可折叠手机概念图曝光 ,,2017年12月21日继“Angel”开源后,腾讯又开放TDinsight机器学习平台 ,,2017年12月21日飘逸的python-极简的二叉树前中后序通杀函数 【编程语言】2014年11月04日发布会还未到苹果市值就已先蒸发上百亿 ,,2016年06月23日ios开发-UI-自定义Tabbar图书布局 【数据库】2015年09月01日第16周-异常处理和命名空间-项目3-max带来的冲突 【编程语言】2015年06月24日Leetcode【162】-FindPeakElement 【移动开发】2015年06月18日iOS-Core-Animation之八----显式动画【架构设计】2015年01月20日E-R模型、E-R分析介绍 【Web前端】2015年04月17日使用C语言调用mysql数据库编程实战以及技巧 【编程语言】2015年07月22日基于OAuth2.0协议的QQ第三方授权登录iOS代码分析【编程语言】2015年02月11日仿IOS透明通知栏(仅支持4.4以上版本) 【架构设计】2015年02月02日android开发之this.finish()的使用 【编程语言】2015年07月20日poj3140--ContestantsDivision(树形dp-水题)【编程语言】2015年03月16日LeetCode实践之一TwoSum 【Web前端】2015年01月07日asp.net下Response.ContentType类型汇总2014年01月29日CC++指针小结2014年01月30日swiftUI专项训练9添加数据 【系统运维】2015年03月02日VxWorks平台声卡驱动【编程语言】2015年04月27日渗透测试之手动漏洞利用 【数据库】2015年06月17日CodeforcesRound#293Div2E(ArthurandQuestions) 【编程语言】2015年03月09日Memento记忆模式 【编程语言】2015年07月07日以一个简单的项目来学习面向对象编程(设计模式和多线程) 【编程语言】2015年03月10日XENAPP7.6和XENDESKTOP7.6初体验之八创建应用桌面组 【互联网】2015年01月24日项目二--图书馆的书【移动开发】2015年03月24日MacOSX安装redis-php扩展 【移动开发】2015年08月16日Opera12.00正式版出现在FTP ,,2016年06月23日Qt自定义事件实现及子线程向主线程传送事件消息 【综合】2014年11月24日HumbleIndieBundle在Ubuntu软件中心头72小时内卖出10000份 ,,2016年06月23日Linux内核驱动学习(三)----内核模块基础|设计|可选项 【综合】2015年02月15日年终大片 【Web前端】2015年02月09日oracle的购买价格研究(二) 【综合】2015年03月27日
我们保证
We guarantee
> psd效果文件手工切图,保证图片效果最好体积最小利于传输
> 100%手写的HTML(DIV+CSS)编码,绝对符合W3C标准
> 代码精简、css沉余量小、搜索引擎扫描迅速,网页打开快捷
> 应用Css Sprite能够减少HTTP请求数,提高网页性能
> 跨浏览器兼容(IE6、7、8、9,Firefox火狐,Chrome谷歌)