对DBUnit感到沮丧:(有人知道为什么我会得到dbAssertionFailedError driverClass,对于下面的内容来说是空的吗?dbunitData.xml包含有一行的测试数据。我知道到数据库的连接很好,但是错误似乎是由断言触发的。
public class ExtendDBTestCaseTest extends DBTestCase
{
public static final String TABLE_LOGIN = "salarydetails";
private FlatXmlDataSet loadedDataSet;
private SalaryCalculation salaryCalculation;
@SuppressWarnings("deprecation")
protected IDataSet getDataSet() throws Exception
{
loadedDataSet = new FlatXmlDataSet(this.getClass().getClassLoader()
.getResourceAsStream("dbunitData.xml"));
return loadedDataSet;
}
protected void setUp() throws Exception
{
setUpDatabase();
}
@SuppressWarnings("deprecation")
private void setUpDatabase() throws Exception
{
Class.forName("com.mysql.jdbc.Driver");
Connection jdbcConnection = DriverManager.getConnection(
"jdbc:mysql://localhost:3306/salary", "someUser", "somePass");
IDatabaseConnection connection = new DatabaseConnection(jdbcConnection);
IDataSet dataSet = getDataSet();
try
{
getSetUpOperation().execute(connection, dataSet);
}
finally
{
connection.close();
}
}
protected DatabaseOperation getSetUpOperation() throws Exception{
return DatabaseOperation.REFRESH;
}
public void testCalculatorNeg() throws Exception
{
salaryCalculation = new SalaryCalculation();
int salary = salaryCalculation.calculator("12345");
assertEquals(0, salary);
}
}发布于 2015-03-25 14:03:37
令人沮丧的是,经过更多的尝试和错误之后,我回答了自己的问题。只需要使用loadedDataSet.endDataSet()添加一个teardown方法,现在就可以工作了!
https://stackoverflow.com/questions/29257015
复制相似问题