DBUnit的测试比较失败(DBUnit Test Comparison Failure)

2019-09-30 07:26发布

我有一个分贝单元测试,如果数据被正确地坚持其测试的问题。 因此,我创建了一个示例数据库与我的数据,并试图比较设置和预期的数据。 该ID生成和其他一切应该由休眠管理

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration
@TestExecutionListeners({ DependencyInjectionTestExecutionListener.class, DbUnitTestExecutionListener.class })
@DatabaseTearDown("empty.xml")
public class UserDaoTests {

    @Autowired
    UserAdminDao userDao;

    @Test
    @DatabaseSetup("db-setup.xml")
    @ExpectedDatabase("db-expected.xml")
    public void testPersistUser(){

        User user = new User();

        user.setUserId("user2");
        user.setName("test2");
        user.setEmail("user2@email.com");
        user.setLocked(false);
        user.setEnabled(true);
        user.setVersion(0);
        user.setPassword("asdfasdf");

        userDao.persist(user);

    }

}

我的设置是:

<dataset>       
    <user id="1" userId="user1" name="test1" email="user1@email.com" locked="0" enabled="1" version="0" password="asdfasdf" /> 

</dataset>

和与用户ID相同= 2下面:

<user id="2" userId="user2" name="test2" email="user2@email.com" locked="0" enabled="1" version="0" password="asdfasdf" />

但我发现了一个比较错误:

junit.framework.ComparisonFailure: row count (table=user) expected:<[2]> but was:<[1]>

不知道在哪里我的错误是。 THX任何帮助:)

Answer 1:

你得表名称添加到这样@ExpectedDatabase“@ExpectedDatabase”的东西(价值=“dataset.xml”,表=“your_table_name”)



文章来源: DBUnit Test Comparison Failure