本文主要是介绍group属性导致@BeforeClass注解无效,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
在使用testng时,常使用@Beforeclass来做一些初始化工作,但是在@Test注解中加入了group属性时,@Beforeclass修饰的方法会无法执行,原因是@Beforeclass不是@Test的那个组,因此解决方案如下:
方案一:
使用alwaysRun=true方式,让其一定会运行
@BeforeClass(alwaysRun = true)public void trancateTable() throws Exception {System.err.println("运行..");String driverClass = "com.mysql.jdbc.Driver";String url = "jdbc:mysql://localhost:3306/base?autoReconnect=true&useUnicode=true&characterEncoding=UTF-8";String user = "root";String password = "root";Connection conn = null;try {conn = JDBCUtil.openConnection(driverClass, url, user, password);JDBCUtil.executeSql(conn, "set foreign_key_checks = 0");// 关闭外键约束JDBCUtil.executeSql(conn, "truncate table fun_module_t");// 截断表JDBCUtil.executeSql(conn, "set foreign_key_checks = 1");// 启用外键约束} finally {JDBCUtil.closeConnection(conn);}}
方案二:
在@Beforeclass上也加groups属性,并和对应的@Test放入同一组
这篇关于group属性导致@BeforeClass注解无效的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!