junit断言是否有异常出现,出现则fail,没有出现则pass
时间: 2023-06-10 18:05:50 浏览: 399
对于这个问题,可以使用JUnit中的Assert类进行断言。其中,可以使用assertThrows方法来判断异常是否被抛出,如果被抛出则测试用例失败(fail),否则测试用例通过(pass)。例如:
```
@Test
public void testDivideByZero() {
try {
int result = Calculator.divide(10, 0);
fail("Expected an ArithmeticException to be thrown");
} catch (ArithmeticException e) {
assertEquals("/ by zero", e.getMessage());
}
}
```
在这个测试用例中,我们测试了除法运算时除数为零的情况。如果在执行Calculator.divide(10, 0)时抛出了ArithmeticException异常,则测试用例通过;否则测试用例失败,并输出"Expected an ArithmeticException to be thrown"的提示信息。
相关问题
写一个Junit测试类测试数据库连接
好的,以下是一个简单的 JUnit 测试类,用于测试数据库连接是否成功:
```
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import org.junit.Assert;
import org.junit.Test;
public class DatabaseConnectionTest {
private static final String DB_URL = "jdbc:mysql://localhost:3306/mydb";
private static final String USER = "username";
private static final String PASS = "password";
@Test
public void testConnection() {
Connection conn = null;
try {
conn = DriverManager.getConnection(DB_URL, USER, PASS);
Assert.assertNotNull("Database connection should not be null", conn);
} catch (SQLException e) {
e.printStackTrace();
Assert.fail("Database connection failed: " + e.getMessage());
} finally {
if (conn != null) {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
}
```
该测试类首先定义了数据库的连接信息,然后编写了一个名为 `testConnection()` 的测试方法。该方法尝试建立与数据库的连接,如果连接成功,则断言连接对象不为 null;否则,测试失败并打印异常信息。
需要注意的是,该测试类需要先导入 JUnit 和数据库的驱动程序。在实际项目中,还需要注意数据库连接信息的安全性和正确性。
阅读全文