最近学习了一下Junit测试,环境是MyEclipse2014 + maven。
首先新建一个Maven,注意MyEclipse集成了一个Maven,不要使用,在配置文件中修改为自己的maven。
然后在pom中加入
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
</dependencies>
这样junit需要的jar包就准备到位。
然后就是编写测试代码了,其实就是注解。最重要的注解是@Test,
@Test
public void evaluatesExpression(){
Calculator calculator = new Calculator();
int sum = calculator.evaluate("1+2+3");
assertEquals(6, sum);
}
Runas JunitTest就可以看到测试结果。
如果一个文件中有多个@Test注解的方法,如果不指定顺序是默认的,可能出乎你的意料,这个时候可以使用注解,
在类上,比如下面,按照方法的名字的顺序。
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
public class CalculatorTest {
}
接着就是使用@Before或者@After了,@Before会在每个@Test注解的方法执行前执行,而且由于每个@Test方法的执行是独立的,
对于类一般变量修改其他Test方法不可见,但是stattic变量是可见的。
@Before为@Test方法的执行提供准备,初始化一些属性,供给@Test使用
如果有@Before,结果就是 @Before + @Test1 ,@Before + @Test 2,这样组合,应该也是AOP的设计理念吧。
@After应该是在每个@Test之后执行。
掌握了这几点基本上使用就OK了。
还有一些异常处理,
- Ignoring Tests 不执行,使用@Ignore注解
- Timeout for Tests 指定方法多长时间没有执行完就失败
- Category 类别等