Tag: rit junit4

将命令行parameter passing给以编程方式运行的JUnittesting用例

我试图从Java类运行JUnittesting: JUnitCore core = new JUnitCore(); core.addListener(new RunListener()); core.run(classToRun); 问题是我的JUnittesting需要一个在JUnittesting本身当前硬编码的数据库连接。 我正在寻找的是一种以编程方式运行JUnittesting的方法(上图),但将一个数据库连接传递给我,在我的Java类中创build,运行testing,而不是在JUnit类中进行硬编码。 基本上是类似的东西 JUnitCore core = new JUnitCore(); core.addListener(new RunListener()); core.addParameters(java.sql.Connection); core.run(classToRun); 然后在classToRun中: @Test Public void Test1(Connection dbConnection){ Statement st = dbConnection.createStatement(); ResultSet rs = st.executeQuery("select total from dual"); rs.next(); String myTotal = rs.getString("TOTAL"); //btw my tests are selenium testcases:) selenium.isTextPresent(myTotal); } 我对@Parameters有所了解,但在这里似乎并不适用,因为它更多地用不同的值运行相同的testing用例。 我希望我所有的testing用例都能共享一个数据库连接,通过configuration文件传递给我的java客户端,然后运行这些testing用例(也通过configuration文件传入)。 这可能吗? PS我明白这似乎是一个奇怪的做事方式。