Ниже приведен тестовый пример, в котором проверяется работа org.dbunit.Assertion.assertEquals (ITable a, ITable b)
@Test
public void testAssertion() {
try {
//Creating actual table with 2 columns
DefaultTable actual = new DefaultTable("table_name",
new Column[] { new Column("col1", DataType.INTEGER),
new Column("col2", DataType.VARCHAR) });
actual.addRow(new Object[] { 1, "ABCD" });
actual.addRow(new Object[] { 2, "BABCD" });
actual.addRow(new Object[] { 3, "CCGF" });
//Creating expected table with same 2 columns
DefaultTable expected = new DefaultTable(expected
.getTableMetaData());
expected.addRow(new Object[] { 1, "ABCD" });
expected.addRow(new Object[] { 2, "BBCD" });
// Check the actual vs expected
Assertion.assertEquals(actual, expected);
//This should return a test failure since actual & expected are different.
//But its not throwing any test case failure.
} catch (DataSetException e1) {
e1.printStackTrace();
} catch (DatabaseUnitException e) {
e.printStackTrace();
}
}
Здесь оба значения DefaultTable не совпадают итем не менее JUnit не завершает тестовый пример выше.Я запускаю его из Eclipse, и это приводит к 0 ошибкам и 0 сбоям с непроверенными тестами под тестовым сценарием, как показано ниже:
testAssertion [Runner: JUnit 4]
[+] Unrooted Tests [Runner: JUnit 4]
Я отладил API DBUnit, и он выдает исключение несоответствия данных при необходимости, но, наконец, при возврате из SpringJUnit4ClassRunner он не генерируется как сбой контрольного примера.
Полагаю, что-то мне здесь не хватает.Пожалуйста поправьте меня или дайте мне знать решение для этого.Спасибо заранее.