两个主要的任何好的测试的要点是:
- 检查它工作得很好
- 本地化错误,如果它的存在
检查它工作得很好 本地化如果错误它的存在 在您的情况下,如果存在错误,我们无法执行如此好的测试来本地化错误,因为您的方法的工作太复杂。将您的方法重构为几种方法以使其更具可读性和可测试性将是一件好事。我同意@AjayGeorge关于分离该方法的方法。
然后你就可以写类似:
import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.Test;
import java.sql.ResultSet;
public class TestExample {
@BeforeClass
public static void setup() {
// init your connection here
// and insert data for tests
}
@AfterClass
public static void cleanup() {
// close connection
}
@Test
public void testTableUpdate() {
// initialize 'sqlQuery' and 'statement'
ResultSet resultSet = getResultSetForQuery(sqlQuery, statement);
// check 'resultSet' with JUnit methods like assertTrue
updateTable(resultSet);
// check that table is filled as you expected
}
}
通过在实例化语句并且不执行例外之后执行查询开始。 –