junit是什么?

Python013

junit是什么?,第1张

junit是一个Java语言的单元测试框架,用于编写和运行可重复的测试。他是用于单元测试框架体系xUnit的一个实例(用于java语言)。

junit由Kent Beck和Erich Gamma建立, JUnit有其自己的JUnit扩展生态圈。多数Java的开发环境已集成了JUnit作为单元测试的工具。用于测试期望结果的断言,用于共享共同测试数据的测试工具,用于方便的组织和运行测试的测试套件及图形和文本的测试运行器。

扩展资料:

Junit测试

Junit测试为程序员测试,即所谓白盒测试,程序员知道被测试的软件如何(How)完成功能和完成什么样(What)的功能。

1、测试计划阶段:根据需求说明书,制定测试进度。

2、测试设计阶段:根据代码的功能,人工设计测试用例进行基本功能测试。依据程序设计说明书,按照一定规范化的方法进行软件结构划分和设计测试用例。

3、测试执行阶段:输入测试用例,得到测试结果。

4、测试总结阶段:对比测试的结果和代码的预期结果,分析错误原因,找到并解决错误。

参考资料来源:百度百科-junit

java中Junit应用介绍:assertexp1//exp1为boolean类型的值assertexp1:message//message为如果exp1不是true的时候,要提示的错误消息断言一般作用:代码运行前写断言判断必须满足的条件;代码运行后判断必须符合的标准;确定代码运行过程中有无改变某些不应该变的东西2.junit中的Assert类提供了很多方法,替代断言,参照api:assertEquals、assertFalse、assertTrue、assertNotNull、assertNull、assertSame、fail3.注解@interface用来定义注解@Retention用来声明注解的保留策略,有CLASS(注解保存在class文件中)、RUNTIME(运行时可用)和SOURCE(仅在源代码中)这三种@Target用来声明注解可以被添加在哪些类型的元素上:注解、类、方法、方法参数、构造、字段、方法中的普通变量定义一个能在方法上使用的注解:@Retention(RetentionPolicy.RUNTIME)@Target({ElementType.METHOD})public@interfaceKennethTest{}写一个测试类publicclassTest{@KennethTestpublicvoidtest1(){System.out.println("test1")}publicvoidtest2(){System.out.println("test2")}@KennethTestpublicvoidtest3(){System.out.println("test3")}}执行一个类中所有标记KennethTest的方法publicclassMain{publicstaticvoidmain(String[]args)throwsException{//反射ClassclassObj=Test.class//获取Test的类对象Objectobj=classObj.newInstance()//调用无参数构造,新建一个Test的对象Method[]methods=classObj.getMethods()//获取Test类中所有public方法for(Methodmethod:methods){if(method.getAnnotation(KennethTest.class)!=null){//看这个方法是否有KennethTest注解method.invoke(obj)//如果这个方法有KennethTest注解,那么这个方法被调用执行}}}}4.junit中的注解@Test@Test(expected=IndexOutOfBoundsException.class)测试方法抛出这个异常就能通过测试@Test(timeout=10)测试方法不能超过10毫秒@Ignore忽略测试@Before每个测试方法之前执行@After每个测试方法之后执行@BeforeClass在加载类时执行@AfterClass在所有测试方法执行结束,如果有after的话,所有after也执行结束后执行5.通常写测试代码的规则:1)产品源代码和测试源代码要分开,包名类名一致例如org.ken.PersonDao对应测试代码可以为test.org.ken.PersonDaoTest2)一个有功能类要写至少一个测试类3)一个方法代表一个用例用例之间要保持独立(最好不要互相调用)

骤一:构建环境

首先新建一个java project.,名字叫做junit3。在拘泥t中再构建一个source folder。目的是形成良好的变成风格。将源码放在src中将测试代码发在另一个source folder(名字叫做test)中。

形成的目录结构如图。

2

在src中和test中起相同名字的packet,这样编译后的class就在同一个目录下,不需要导入包即可。我的packet名字叫做(com.edu)

形成的目录结构如图所示。