Junit 单元测试总结

最近复习了一下junit 单元测试的用法,为了加深印象,用juint3和4做比较,看看有哪些不同:

junit3 有两个无理的要求:

1 测试用例必须继承TestCase类
2 测试方法的名称必须以test开头

这两个要求对我们写测试用例增加了无谓了束缚!

junit4彻底改变了这两个问题
1 不用继承任何类,减少代码耦合性
2 采用Annotation(元数据)表明方法的用途。有以下几类:
@Before 在每一个测试方法前要执行的方法
@After 再每一个测试方法后要执行的方法
@Test
@ignore 忽略某个方法

3 高级的注视方法:
@BeforeClass 这是在整个测试用例前执行的方法 例如读取一个文件 获取数据库连接等
@AfterClass 这是在整个测试用例后执行的方法 例如关闭连接
@Test(expected=XX,timeout=XX) 要测试的方法 expected异常测试 timeout时间限制测试
@RunWiht(XXX.class)选择测试加载器

public class TestDb {

private static Connection conn = null;
private static String url = "jdbc:oracle:thin:@172.19.37.10:1521:edadev";
private static String driverClassName = "oracle.jdbc.driver.OracleDriver";
private static String user = "score";
private static String pass = "score";

@BeforeClass
public static void setUp() throws Exception {
Class.forName(driverClassName).newInstance();
conn = DriverManager.getConnection(url, user, pass);

}

@AfterClass
public static void tearDown() throws Exception {
conn = null;
}

@Test
public void testGetOneData() {
try {
Statement st = conn.createStatement();
String sql = "select 2-1 as tmp from dual";
ResultSet rs = st.executeQuery(sql);
String str = null;
while (rs.next()) {
str = rs.getString("tmp");
}

System.out.println(str);
assertEquals("1", str);
} catch (Exception e) {
e.printStackTrace();
}
}

}
4 参数化测试 (后续单独研究一下)
5 打包测试
1 任意写个类
2 再类的开始要加以下注视 Suite.class是要选择的Runner TestDb.class是一个测试的类
@RunWith(Suite.class)
@Suite.SuiteClasses(TestDb.class,....)
public class TestSuit {

}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值