2 tablom var ancak bu gönderi yönergesi istisnasından kod.DbUnit + springtestdbunit öğesinde yanlış tablo sayısı
Neyi yanlış yapıyorum?
Bunu nasıl düzeltirim?
Başarısız metin
junit.framework.ComparisonFailure: table count
Expected :5
Actual :2
Pom bağımlılıkları
<dependency>
<groupId>com.github.springtestdbunit</groupId>
<artifactId>spring-test-dbunit</artifactId>
<version>1.2.1</version>
</dependency>
Veri kümesi
<?xml version='1.0' encoding='UTF-8'?>
<dataset>
<table name="CATEGORY">
<column>CATEGORY_ID</column>
<row>
<value>1</value>
</row>
<row>
<value>2</value>
</row>
</table>
<table name="CATEGORY_RELATIONS">
<column>CATEGORY_RELATIONS_PARENT_ID</column>
<column>CATEGORY_RELATIONS_CATEGORY_ID</column>
<column>ID</column>
<row>
<value>1</value>
<value>2</value>
<null/>
</row>
</table>
</dataset>
POST GÜNCELLEME (katma insanlar tarafından talep edilen bilgiler,)
Testi
@Test
@DatabaseSetup("classpath:data-sets/empty.xml")
@ExpectedDatabase("classpath:data-sets/categories/save.xml")
public void save() throws Exception {
testTarget.save(parentCategory);
testTarget.save(childCategory);
}
empty.xml
<dataset>
<CATEGORY/>
<CATEGORY_RELATIONS/>
</dataset>
yok masa sayaçları
@ActiveProfiles("test") @RunWith(SpringJUnit4ClassRunner.class)
@TestExecutionListeners({DependencyInjectionTestExecutionListener.class,
DirtiesContextTestExecutionListener.class,
TransactionalTestExecutionListener.class, DbUnitTestExecutionListener.class,
HSqlTestExecutionListener.class})
@ContextConfiguration({"classpath:contexts/bean-locations.xml"})
public class SpringHsqlTest {//...
Diğer testler, ancak bu tür xml yapısı ile iyi gidiyor: " ". Tek bir veritabanım var. –
ArthurDn
Tamam, başarısız olan test kutusunun kodunu gönderir misiniz? Muhtemelen tabloların sayısını sayan bir kodunuz var ve beklenen sayıyı (çıkışa dayalı 5 gibi görünüyor) ve gerçek sayıyı (çıktıya göre 2 gibi görünüyor) bir iddiana iletiyorsunuz ? –
'@Test @DatabaseSetup ("sınıf yolu: data-setleri/empty.xml") @ExpectedDatabase ("sınıf yolu: data-setleri/kategoriler/save.xml") tasarruf public void() İstisna { testTarget atar. (ParentCategory) kaydetmek; testTarget.save (childCategory); } ' – ArthurDn