我尝试学习正确且持续地测试我的项目。不幸的是,有一些事情我不明白,因为关于这个话题有很多不同的意见。我不明白如何决定哪些课程“值得”测试它们。作为示例,我从 oracle 中获取了示例 JDBC 连接类:
public Connection getConnection() throws SQLException {
Connection conn = null;
Properties connectionProps = new Properties();
connectionProps.put("user", this.userName);
connectionProps.put("password", this.password);
if (this.dbms.equals("mysql")) {
conn = DriverManager.getConnection(
"jdbc:" + this.dbms + "://" +
this.serverName +
":" + this.portNumber + "/",
connectionProps);
} else if (this.dbms.equals("derby")) {
conn = DriverManager.getConnection(
"jdbc:" + this.dbms + ":" +
this.dbName +
";create=true",
connectionProps);
}
System.out.println("Connected to database");
return conn;
}
我知道我可以模拟对象以便能够更孤立地查看班级。测试这样的课程是否有用,或者我可以从做这样的事情中受益,看看理论上是否可以建立联系?
public class TestClass {
@Mock
private Connection conn;
@Mock
private Database database;
@BeforeEach
public void setUp() throws Exception {
assertNotNull(database);
when(database.getConnection()).thenReturn(conn);
}
}
尚方宝剑之说
相关分类