統合テストには DbUnit を使用します。次のデータセットがあります。
<?xml version='1.0' encoding='UTF-8'?>
<dataset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="dataset.xsd">
<USERS ID="1" EMAIL="" LASTNAME="A" LASTMODIFIED="2001-01-01 00:00:00.0" />
<USERS ID="2" EMAIL="" LASTNAME="D" LASTMODIFIED="2001-01-01 00:00:00.0" ACTIVE="true" />
</dataset>
テストでDBからロードすると、どういうわけかブールフィールドACTIVEが2番目のユーザーに設定されません。
テストは次のようになります。
@SpringApplicationContext("component-context-test-dao.xml")
@DataSet
public class UserDaoImplIT extends UnitilsJUnit4 {
@SpringBeanByType
private UserDaoImpl userDao;
@Test
public void shouldReturnTrueIfFoundActiveUserWithEmail() throws InterruptedException {
boolean exits = userDao.isEmailFromActiveUserInUsers("anEmailThatDoesNotExist@oeamtc.at");
List list = HibernateUnitils.getSession().createQuery("from User").list();
assertThat(exits, is(true));
}
}
インメモリ h2 に対して Eclipse 内からテストを実行します。
ブール値以外のすべてのフィールドがマップされる理由はありますか?