使用场景
开发中我们大部分的时间是花在测试上的,要是没有单元测试,我们就很麻烦,比如web开发,你要重启服务,还要一层一层的找错误。这时候你会想到在类中写main方法来测试,这样确实能有效的测试我们类有没有缺陷,但是这样就改变了类的结构,而且有的语言一个程序系统只能有一个main方法。如此junit就很好地解决的这个问题。
使用
导包
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13.2</version>
<scope>test</scope>
</dependency>
测试类存放位置
test->java内 (颜色不对或者没有这个包可以新建一个包然后改包的类型)
代码
在方法上添加@Test注解
public class JDBCTest {
@Test
public void update_standard() {
String sql = "update product set name = '21' where id=2";
int update = JDBC.update(sql);
Assert.assertEquals(update, 1); //断言
}
}
使用规范
- 在开发中应该每个类每个方法都有对应的测试类和方法。
- 要以测试人员的角度去编写测试方法,比如使用边界值,如上面的这个JDBC.update(Stirng str) 就要有str = “”,str = “werqwerqwe”(随便输入错误的sql语句),str = null 这三个测试方法来对应。
- 测试类的方法只会比被测类的方法多(由上两个条件的出)