JUnit

[size=large][color=green]使用JUnit3.8.2的操作步骤及注意事项[/color][/size]

1.为项目导入JUnit的jar包(Build path -->Add Library -->JUnit)

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

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

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

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

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

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

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

@Override

protected void setUp() throws Exception {

calc = new Calc();

}

@Override

protected void tearDown() throws Exception {

System.out.println("tearDown invoked");

}

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

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

[size=large][color=green]使用JUnit4.8.1的操作步骤及注意事项[/color][/size]

1.为项目导入JUnit的jar包(Build path -->Add Library -->JUnit)

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

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

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

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

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

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

8.在JUnit4中,可以使用@BeforeClass与@AfterClass注解修饰一个public static void no-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:

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

[color=red] @BeforeClass[/color]

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

[color=red] @AfterClass[/color]

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

[color=red]@Before [/color]

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

[color=red] @After [/color]

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

@Test(timeout = 1000)

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

@Test(expected = Exception.class)

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

@Ignore("not ready yet")

@Test [/quote]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值