JUnit

使用JUnit3.8.2的操作步骤及注意事项

1.为项目导入JUnit的jar包(Buildpath-->AddLibrary-->JUnit)

2.新建一个名为test的SourceFolder,用于存放测试类源代码.

3.目标类与测试类应该位于同一个包下面,这样测试类中就不必导入源代码所在的包,因为他们位于同一个包下面.

4.测试类的命名规则:假如目标类是Calc,那么测试类应该命名为TestCalc或者是CalcTest.

5.测试类必须要继承于TestCase父类.

6.测试方法必须要满足publicvoid修饰,无方法参数,方法名必须以test开头.

7.重写setUp()方法和tearDown()方法以便于对测试数据的初始化和回归操作.

8.执行顺序:setUp(测试方法之前),testMethod(执行的测试方法),tearDown(测试方法之后).

@Override

protectedvoidsetUp()throwsException{

calc=newCalc();

}

@Override

protectedvoidtearDown()throwsException{

System.out.println("tearDowninvoked");

}

9.为了测试私有方法,可以使用反射机制.

10.TestSuite(测试套件):可以将多个测试组合到一起,同时执行多个测试.

使用JUnit4.8.1的操作步骤及注意事项

1.为项目导入JUnit的jar包(Buildpath-->AddLibrary-->JUnit)

2.新建一个名为test的SourceFolder,用于存放测试类源代码.

3.目标类与测试类应该位于同一个包下面,这样测试类中就不必导入源代码所在的包,因为他们位于同一个包下面.

4.JUnit4并不需要测试类继承TestCase父类.

5.在一个测试类中,所有被@Test注解所修饰的publicvoid方法都是TestCase(测试用例),可以被JUnit所执行.

6.规范:虽然JUnit4并不要求测试方法名以test开头,但最好还是按照JUnit3.8.2的要求那样,以test作为测试方法名的开头.

7.在JUnit4中,通过@Before注解实现与JUnit3.8.2中的setUp方法同样的功能.

8.在JUnit4中,可以使用@BeforeClass与@AfterClass注解修饰一个publicstaticvoidno-arg的方法,这样被@BeforeClass注解所修饰的方法会在所有测试方法执行前执行.

9.注解@lgnore可用于修改测试类与测试方法,当修改测试类时,表示忽略掉类中的所有测试方法;当修改测试方法是,表示忽略掉该测试方法.

10)参数化测试(Parameters):当一个测试类使用参数化运行器运行时,

需要在类的声明处加上@RunWith(Parameterized.class)注解,表示该类将不使用JUnit内建的运行器运行,

而使用参数化运行器运行;在参数化运行类中提供参数的方法上要使用@Parameters注解来修饰,

同时在测试类的构造方法中为各个参数赋值(构造方法是由JUnit调用的),

最后编写测试类,它会根据参数的组数来运行测试多次。

11)在JUnit4中,如果想要同时运行多个测试,需要使用两个注解:

@RunWith(Suite.class)以及@Suite.SuiteClasses(),通过这两个注解分别指定使用Suite运行器来运行测试,

以及指定了运行哪些测试类,其中的@SuiteClasses中可以继续指定Suite,这样JUnit会再去寻找里面的测试类,

一直找到能够执行的TestCase并执行之。

12)JUnit4中可以使用JUnit3的方法进行测试,而不使用注解机制,即JUnit3可以完美升级至JUnit4,但4更灵活、方便。

Eg:

   
引用

//在所有测试方法前执行一次

@BeforeClass

//在所有测试方法后执行一次

@AfterClass

//在每个测试方法前执行

@Before

//在每个测试方法后执行

@After

//测试方法执行超过1000毫秒后算超时,测试将失败

@Test(timeout=1000)

//测试方法期望得到的异常类

@Test(expected=Exception.class)

//执行测试时将忽略掉此方法,如果用于修饰类,则忽略整个类

@Ignore("notreadyyet")

@Test

相关推荐