tanır gelmez enums. Böyle yazıldığı veri kümesinde :DBUnit PostgresqlDataTypeFactory değil, ve bu hatayla koşuyorum test kodu çalıştırmadan önce enum listesini
<?xml version='1.0' encoding='UTF-8'?>
<dataset>
// More info ...
<badges name="30'000" description="30k a day" image_name="30000.png" threshold_val="30000.00000000" has_many="true" id="45" track_types="{TRACK_GENERIC}" "/>
</dataset>
Ben DBUnit SSS baktı ve this issue gördüm, benim enum Postgresql olduğunu destekleyecek isEnumType() yöntemini geçersiz kılmak zorunda olduğunu söylüyor, bu yüzden bu yaptı:
/**
* Override method to set custom properties/features
*/
protected void setUpDatabaseConfig(DatabaseConfig config) {
config.setProperty(DatabaseConfig.PROPERTY_DATATYPE_FACTORY, new PostgresqlDataTypeFactory(){
public boolean isEnumType(String sqlTypeName) {
if(sqlTypeName.equalsIgnoreCase("track_types")){
return true;
}
return false;
}
});
config.setProperty(DatabaseConfig.PROPERTY_METADATA_HANDLER, new DefaultMetadataHandler());
}
Yine de aynı hatayı alıyorum ve nedenini bilmiyorum. Belki de metodu iyi işlemez miyim? Belki de benim sorunumun sebebi de değil? Başka bir kod gerekiyorsa, sadece sor, teşekkürler!
Veri kümeniz "rozetleri" bir TRACK_TYPES sütunu içeriyor mu? –
Kaynak kodunuzu gönderir misiniz? Onu kazmaya çalışacağım. –
@KevinWallis Veri kümesini görebilmeniz için soruyu yeni güncelledim. Evet, bu sütunu içerir, ancak hata durumları olarak göz ardı edilir. – alfizqu