eclipse软件
如果想在自己的工程中添加Java unit test的功能,那么必须先去导入Junit的库。首先在自己工程的右键属性开打,然后找到Add library的按键。
点击Add library后选择Junit4,然后下一步
点击完成
这个时候我们就发现导入的Junit4的库已经在我们的工程中了。
然后创建一个class工程区创建Java Unit Test代码
下图是我创建的Java Unit Test代码。首先需要导入一些Java Unit的库。如下图。
下面简单介绍下代码中的部分内容。首先看到的时候类头部的@RunWith(value=Parameterized.class)。这个需要解释下。Runner:Runner是一个抽象类,是JUnit的核心组成部分。用于运行测试和通知Notifier运行的结果。JUnit使用@RunWith注解标注选用的Runner,由此实现不同测试行为。 BlockJUnit4ClassRunner:这个是JUnit的默认Runner,平时我们编写的JUnit不添加@RunWith注解时使用的都是这个Runner。 Suit:没错,Suit就是个Runner!用来执行分布在多个类中的测试用例,比如我存在SimpleFunctionTest和ComplexFunctionTest类分别测试Person的简单和复杂行为,在茫茫的测试用例中如何一次执行所有与Person有关的测试呢——使用Suit。代码如下:其中ComplexFunctionTest和SimpleFunctionTest就是两个普通的测试用例类,这里忽略。@RunWith(Suite.class)@SuiteClasses({ComplexFunctionTest.class, SimpleFunctionTest.class})public class TestSuitMain{ }在执行TestSuitMain --> “Run As JUnit Test'的时候会把ComplexFunctionTest和SimpleFunctionTest的用例全部执行一遍。Parameterized:Parameterized继承自Suit,从这个身世和名字应该可以猜到一些因果了。Parameterized是在参数上实现了Suit——修饰一个测试类,但是可以提供多组构造函数的参数用于测试不同场景。
@Parameters,下面指定参数信息。
@BeforeClass:修饰static的方法,在整个类执行之前执行该方法一次。比如你的测试用例执行前需要一些高开销的资源(连接数据库)可以用@BeforeClass搞定。值得注意的是如果测试用例类的父类中也存在@BeforeClass修饰的方法,它将在子类的@BeforeClass之前执行。@AfterClass:同样修饰static的方法,在整个类执行结束前执行一次。如果你用@BeforeClass创建了一些资源现在是时候释放它们了。@Before:修饰public void的方法,在每个测试用例(方法)执行时都会执行。@After:修饰public void的方法,在每个测试用例执行结束后执行。
@Test标注需要执行的测试方法。
注意@部分的内容。