我嘗試學(xué)習(xí)正確且持續(xù)地測(cè)試我的項(xiàng)目。不幸的是,有一些事情我不明白,因?yàn)殛P(guān)于這個(gè)話題有很多不同的意見。我不明白如何決定哪些課程“值得”測(cè)試它們。作為示例,我從 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;} 我知道我可以模擬對(duì)象以便能夠更孤立地查看班級(jí)。測(cè)試這樣的課程是否有用,或者我可以從做這樣的事情中受益,看看理論上是否可以建立聯(lián)系?public class TestClass { @Mock private Connection conn; @Mock private Database database; @BeforeEach public void setUp() throws Exception { assertNotNull(database); when(database.getConnection()).thenReturn(conn); }}
1 回答

尚方寶劍之說
TA貢獻(xiàn)1788條經(jīng)驗(yàn) 獲得超4個(gè)贊
單元測(cè)試中的模擬可幫助您測(cè)試代碼中原本會(huì)使用資源的部分。使用它來測(cè)試一個(gè)其唯一目的是建立與資源的連接的類是沒有意義的。
添加回答
舉報(bào)
0/150
提交
取消