myEclipse中如何使用Junit

上传人:ni****g 文档编号:496741165 上传时间:2022-12-16 格式:DOC 页数:9 大小:163.50KB
返回 下载 相关 举报
myEclipse中如何使用Junit_第1页
第1页 / 共9页
myEclipse中如何使用Junit_第2页
第2页 / 共9页
myEclipse中如何使用Junit_第3页
第3页 / 共9页
myEclipse中如何使用Junit_第4页
第4页 / 共9页
myEclipse中如何使用Junit_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《myEclipse中如何使用Junit》由会员分享,可在线阅读,更多相关《myEclipse中如何使用Junit(9页珍藏版)》请在金锄头文库上搜索。

1、#myEclipse下使用Junit、准备工作:1. 导入Junitjar包;2. 在项目目录下新建一个SourceFold(般命名为test);3. 新建一个测试类(一般命名规则为:被测试类名+Test,例如:HelloWordTest)继承junit.framework.TestCase类;4. 编写测试方法(方法名必须以test+用例方法名称);如下:-GJunit4.7E)匚电EfC0-田com.jutlit.simpl已Hell匚卅ord.j=lwi-HelloWcrd古HelloWoriOieUKCString):buule:tlsay():String-te:三t白田-om.ji

2、jtllt.testE)-_T|Hell匚卅ordTest.j:iwaS-Q.HelloWordT&EtKellijiiiji-ilIeEt(String)二、使用Junit进行测试Junit被用来测试代码,并且它是由能够测试不同条件的断言方法(assertionmethod)组成,常用断言方法如下: assertEquals(a,b)测试a是否等于b(a和b是原始类型数值(primitivevalue)或者必须为实现比较而具有equal方法) assertFalse(a)测试a是否为false(假),a是一个Boolean数值。 assertNotNull(a)测试a是否非空,a是一个对象或

3、者null。 assertNotSame(a,b)测试a和b是否没有都引用同一个对象。 assertNull(a)测试a是否为null,a是一个对象或者null。 assertSame(a,b)测试a和b是否都引用同一个对象。 assertTrue(a)测试a是否为true(真)a是一个Boolean数值。 我们使用这些方法来构建JUnit测试。当运行一个JUnit应用程序时,它打开自己的视图(view)来立即指示哪个测试通过了,哪个测试失败了。被测试类:packagecom.junit.simple;publicclassHelloUord注:执行TestRunner.run(HelloWo

4、rdTest.class)后会出现:Lmportlumt.Franework.TestCase;LmportLmportaubliclumt.textui.TestRunner;EDUi.junit.simple.HelloUord;classHelloWordTestextendsTestCaseTime上的小点表示测试个数,如果测试通过则显示OK。否则在小点的后边标上F,表示该测试失败。综上所叙:编写测试类的基本步骤:1;扩展TestCase类;2;覆盖runTest()方法(可选);3;写一些testXXXXX()方法;三、Junit4的新特性1、Hamcrest的断言语法则贝(Jass

5、ertThat1导入junit4和包;2.assertThat:基本语法:assertThat(value,matcherstatement);value是接下来想要测试的变量值;matcherstatement是使用Hamcrest匹配符来表达的对前面变量所期望的值的声明,如果value值与matcherstatement所表达的期望值相符,则测试成功,否则测试失败。2、使用hamcrest的匹配方法2.1、一般匹配符 allOf匹配符表明如果接下来的所有条件必须都成立测试才通过,相当于“与”(&)assertThat(testedNumber,allOf(greaterThan(8),le

6、ssThan(16); anyOf匹配符表明如果接下来的所有条件只要有一个成立则测试通过,相当于“或”(|)assertThat(testedNumber,anyOf(greaterThan(16),lessThan(8); anything匹配符表明无论什么条件,永远为trueassertThat(testedNumber,anything(); is匹配符表明如果前面待测的object等于后面给出的object,贝I测试通过assertThat(testedString,is(developerWorks); not匹配符和is匹配符正好相反,表明如果前面待测的object不等于后面给出的

7、object,贝I测试通过assertThat(testedString,not(developerWorks);2.2、字符串相关匹配符 containsString匹配符表明如果测试的字符串testedString包含子字符串developerWorks则测试通过assertThat(testedString,containsString(developerWorks); endsWith匹配符表明如果测试的字符串testedString以子字符串developerWorks结尾则测试通过assertThat(testedString,endsWith(developerWorks); s

8、tartsWith匹配符表明如果测试的字符串testedString以子字符串developerWorks开始则测试通过assertThat(testedString,startsWith(developerWorks); equalTo匹配符表明如果测试的testedValue等于expectedValue则测试通过,equalTo可以测试数值之间,字符串之间和对象之间是否相等,相当于Object的equals方法assertThat(testedValue,equalTo(expectedValue); equalToIgnoringCase匹配符表明如果测试的字符串testedStrin

9、g在忽略大小写的情况下等于developerWorks则测试通过assertThat(testedString,equalToIgnoringCase(developerWorks); equalToIgnoringWhiteSpace匹配符表明如果测试的字符串testedString在忽略头尾的任意个空格的情况下等于developerWorks则测试通过,注意:字符串中的空格不能被忽略assertThat(testedString,equalToIgnoringWhiteSpace(developerWorks);2.3、数值相关匹配符 closeTo匹配符表明如果所测试的浮点型数teste

10、dDouble在20.00.5范围之内则测试通过assertThat(testedDouble,closeTo(20.0,0.5); greaterThan匹配符表明如果所测试的数值testedNumber大于16.0则测试通过assertThat(testedNumber,greaterThan(16.0); lessThan匹配符表明如果所测试的数值testedNumber小于16.0则测试通过assertThat(testedNumber,lessThan(16.0); greaterThanOrEqualTo匹配符表明如果所测试的数值testedNumber大于等于16.0则测试通过a

11、ssertThat(testedNumber,greaterThanOrEqualTo(16.0); lessThanOrEqualTo匹配符表明如果所测试的数值testedNumber小于等于16.0则测试通过assertThat(testedNumber,lessThanOrEqualTo(16.0);2.4、collection相关匹配符 hasEntry匹配符表明如果测试的Map对象mapObject含有一个键值为key对应元素值为value的Entry项则测试通过assertThat(mapObject,hasEntry(key,value); hasItem匹配符表明如果测试的迭代

12、对象iterableObject含有元素况项则测试通过assertThat(iterableObject,hasItem(element); hasKey匹配符表明如果测试的Map对象mapObject含有键值ke测测试通过assertThat(mapObject,hasKey(key); hasValue匹配符表明如果测试的Map对象mapObject含有元素值value则测试通过assertThat(mapObject,hasValue(key);2.5、Matcher匹配符联合使用 not和equalTo表示“不等于”assertThat(something,not(equalTo(de

13、veloper); not和containsString表示“不包含子字符串”assertThat(something,not(containsString(Works); anyOf和containsString表示“包含任何一个子字符串”assertThat(something,anyOf(containsString(developer),containsString(Works);3、JUnit4注解 Test:测试方法 Ignore:被忽略的测试方法 Before:每一个测试方法之前运行 After:每一个测试方法之后运行 BeforeClass:所有测试开始之前运行 AfterClass:所有测试结束之后运行#四、附录Junit4注解式测试方法示例(测试类不用继承TestCase)被测试类:packatfecoiniuiiit-4aimp1e;piililiccl_assHeLinpuljlicint-add(int-x_rinty)returnx+y;pulilicint-clivicle(intxinty)I.return

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号