asp网站调试,山西餐饮加盟网站建设,wordpress尾部怎么改,美食个人网站设计作品一、环境搭建 对于习惯使用Eclipse开发平台来说#xff0c;Junit早已是非常通常的插件#xff0c;在Eclipse开发平台中#xff0c;可以非常方便地搭建Junit测试环境。 1、在Eclipse上创建工程#xff0c;任何Java工程都行。 2、引入Junit的libraries库#xff0c;选用Juni… 一、环境搭建 对于习惯使用Eclipse开发平台来说Junit早已是非常通常的插件在Eclipse开发平台中可以非常方便地搭建Junit测试环境。 1、在Eclipse上创建工程任何Java工程都行。 2、引入Junit的libraries库选用Junit4。如下图所示 3、新建一个Java类用于演示Junit4类的自动生成java代码如下 [java]view plaincopy package com.hy; public class Demo { public void method1() { System.out.println(method1); } public void method2() { System.out.println(method2); } public void method3() { System.out.println(method3); } } 4、在该类上右键单击新建选JUnit Test Case自动生成一个对应的测试类如下图所示 4、这样就能自动地生成对应的测试类了测试类代码发下 [java]view plaincopy package com.hy; import static org.junit.Assert.*; import org.junit.After; import org.junit.AfterClass; import org.junit.Before; import org.junit.BeforeClass; import org.junit.Test; public class DemoTest { BeforeClass public static void setUpBeforeClass() throws Exception { } AfterClass public static void tearDownAfterClass() throws Exception { } Before public void setUp() throws Exception { } After public void tearDown() throws Exception { } Test public void testMethod1() { fail(Not yet implemented); } Test public void testMethod2() { fail(Not yet implemented); } Test public void testMethod3() { fail(Not yet implemented); } } 5、如此一来测试类环境的搭建过程就完成了最后要做的就是根据实际的业务需求对测试类中的测试方法编写单元测试代码直到运行调通。 二、基本规则 从上面的演示可知测试类名一般都以Test结尾测试方法名以test开头。这个也是Junit的基本命名规则。 三、Junit注解 我们此次针对的是Junit4版本注解也是在Junit4版本才有的之前的版本并无注解功能。而注解开发基本上被认为是一种优秀的设计所以我们写单元测试用例时尽可能地去了解并使用注解。 Test使用该注解的方法为测试方法自动运行时能够识别并被执行 包含两个参数expectedXXXException.class 期望出现的异常 timeoutxxx 设定程序运行的超时时间 Ignore被忽略的测试方法 Before在每个测试方法之前运行 After 在每个测试方法之后运行 BeforeClass在所有测试开始之前运行 AfterClass在所有测试开始之后运行 以上几个就是Junit 4的关键注解熟练使用这几个注解将来的测试用例编写肯定能事半功倍。 注意Before与BeforeClass的区别 Before会加在每个方法前执行即有几个Test就会执行几遍。 BeforeClass 只在所有测试之前执行只会执行一次。并且BeforeClass修饰的方法必须是公有的静态方法public static 。 After和AfterClass也类似 每个测试类中这四个注解不能重复使用一个方法只能从这四个注解中挑选其中一个。 四、基本写法 1、setUp()tearDown()setUpBeforeClass()tearDownAfterClass()这四个方法其实就是对应的Before、BeforeClass、After、AfterClass这四个注解在Junit4开始使用注解时其实可以替代这四个方法的功能只是这四个方法是历史遗留方法可以考虑使用也可以直接使用注解替代。 2、Assert是单元测试用例的核心建议使用静态导入。 3、待测试对象一般建议设计成静态的。 4、测试方法的要求带Test注解方法名随意返回值必须为void不能带有参数可以声明异常可以参考演示代码。 5、Fixture方法的作用 前面介绍的Before、BeforeClass、After、AfterClass注解修饰的方法即为Fixture方法它是在某些阶段必然被调用的方法如注解功能所示。 Before、After修饰方法的一个用处是对待测试对象的“复原”操作如成员变量回归数据库回滚等目的是消除Test方法之间的耦合。也可以用来打印日志。 BeforeClass修饰方法可以设计成用来加载一些耗时耗力的操作如文件流的读取数据库连接等然后在AfterClass中释放对应的资源即可。 6、限时测试 Test(timeout1000)超时时间单位为毫秒 用于测试是否有死循环工是实时性要求比较高的用例这个非常方便而且非常有用。 7、测试异常 Test(expectedXXXException.class) XXXException为声明式异常 用来验证声明式异常注意此测试的含义出现了期望的异常叫做正常若没出现异常Junit会报错认为不正常。这段描述有些拗口请各位多琢磨琢磨。 8、运行器Runner 类注解RunWith指定不同的类可以改变测试类的行为 9、参数化测试 主要是针对一些相同功能却要进行多组参数测试的情况开发步骤如下 1参数化测试的类和普通测试类不同要用特殊的Runner类注解需要改为RunWith(Parameterized.class) 2定义该测试类的成员变量一个放测试参数另一个放该参数产生的预期结果 3定义测试数据集合方法 public static Collection data() {...}注意该方法要用Parameters修饰数据格式为二维数组 4定义带参数的构造函数注意定义数据集合时要和构造函数参数次序一致 其他的与普通测试类似 注意若测试数据有两条则该类下的所有Test的方法都会执行两次所以参数化测试的类不要和别的Test放在一起。参数化测试方法一般建议单独建立类。 演示代码如下 [java]view plaincopy //指定RunWith RunWith(Parameterized.class) public class ParamTest { //定义成员变量i为测试参数j为测试结果 private int i; private int j; //构造函数 public ParamTest(int i, int j) { super(); this.i i; this.j j; } //测试数据集合注意使用的注解数据结构及次序 Parameters public static Collection data() { return Arrays.asList(new Object[][]{{1,2},{3,4},{4,6}}); } Test public void testMethod1() { System.out.println(i); System.out.println(j); //简单测试只测试参数加1会不会等于预期结果 Assert.assertEquals(i1, j); } } 预期的执行结果是前两组参数测试正确最后一组测试错误运行后的结果为 执行结果与预期结果相符合OK 10、打包测试 将测试类集中起来运行提高测试效率代码如下 [java]view plaincopy RunWith(Suite.class) Suite.SuiteClasses({ DemoTest.class }) public class ModuleTest { public ModuleTest() { // TODO Auto-generated constructor stub } } 1Suite.SuiteClasses里面的是需要打包测试的类 2该类中可以为空类名建议为模块名Test结尾如ModuleTest.java 以上是Junit4的最基本的使用相信掌握了这些对于编写常规的测试用例已经不是难事同样Junit还有更多更有意思的功能等待我们去挖掘……