Ich bin mit Feder-test-DBUnit und ich bekomme eine Warnung in meinen Unit-Tests mit dieser Nachricht:Frühlings-Test DBUnit Warnung
Code:
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = { "/context.xml"})
@TestExecutionListeners({ DependencyInjectionTestExecutionListener.class,
DirtiesContextTestExecutionListener.class,
TransactionalTestExecutionListener.class,
DbUnitTestExecutionListener.class })
public class TestDB {
@Autowired
private ICourseService courseService;
@Test
@DatabaseSetup("sampleData.xml")
public void testFind() throws Exception {
List<Course> courseList = this.courseService.getAllCourses();
assertEquals(1, courseList.size());
assertEquals("A001", courseList.get(0).getCourseNumber());
}
}
Warnung:
1093 [main] WARN org.dbunit.dataset.AbstractTableMetaData - Potential Problem gefunden: Der konfigurierte Datentyp factory 'class org.dbunit.dataset.datatype.DefaultDataTypeFactory' könnteverursachenProbleme mit der aktuellen Datenbank 'MySQL' (z. einige Datentypen können nicht richtig unterstützt werden). In seltenen Fällen wird möglicherweise die folgende Nachricht angezeigt: , da die Liste der unterstützten Datenbankprodukte nicht vollständig ist (list = [derby]). Wenn ja, fordern Sie bitte ein Update der Java-Klasse über die Foren an. Wenn Sie Ihre eigene IDataTypeFactory verwenden, die DefaultDataTypeFactory erweitert, stellen Sie sicher, dass Sie getValidDbProducts() überschreiben, um die unterstützten Datenbankprodukte anzugeben.
Das Problem kann gelöst werden, wenn ich DBUnit ohne Feder Test-DBUnit wie folgt verwendet werden:
Connection jdbcConnection = DriverManager.getConnection("jdbc:mysql://localhost/test", "root", "root");
IDatabaseConnection connection = new DatabaseConnection(jdbcConnection);
connection.getConfig().setProperty(DatabaseConfig.PROPERTY_DATATYPE_FACTORY, new MySqlDataTypeFactory());
connection.getConfig().setProperty(DatabaseConfig.PROPERTY_METADATA_HANDLER, new MySqlMetadataHandler());
Ich weiß nicht, wie dieses Problem im Frühjahr-Test-DBUnit zu lösen. Bitte helfen Sie.
Und stellen Sie sicher, dass alle Bean Namen heißt Methodennamen bleiben genau die gleiche wie @Yser oben erwähnt ... – Nick