测试JPA实体

时间:2017-03-02 10:23:33

标签: java spring spring-mvc spring-boot spring-test

我想知道如何为Spring Repository类编写Junit测试。

例如: 类AccountMoveActionDet

Jpa interface-AccountMoveActionDetlJpaRepository

我想测试这个存储库类是否工作.Spring Jpa支持一些方法,比如

List findAll();
deleteAll();

我写了一个类,如下所示:

 @RunWith(SpringJUnit4ClassRunner.class)
public class AccountTypeMovementJpaRepositoryTest extends AbstractJpaTest {

    @Autowired
    AccountTypeMovementJpaRepository accountTypeMovementJpaRepository;

    @Override
    public void test() {
    executeSqlScript("/fixtures/accountTypeMovementJpa.sql");
    assertEquals("accountTypeMovementJpaRepository Test", accountTypeMovementJpaRepository.findAll().size(),
        JdbcTestUtils.countRowsInTable(getJdbcTemplate(), "COF5REP"));
    }

}
  

使用名称创建bean时出错   'com.gayan.cmp.jparepositories.test.AccountTypeMovementJpaRepositoryTest':

请帮我解决这个问题。

1 个答案:

答案 0 :(得分:0)

如果使用spring-boot 1.4及以上最佳place来启动,测试JPA切片

@RunWith(SpringRunner.class)
@DataJpaTest
public class UserRepositoryTests {

    @Autowired
    private TestEntityManager entityManager;

    @Autowired
    private UserRepository repository;

    @Test
    public void findByUsernameShouldReturnUser() {
        this.entityManager.persist(new User("sboot", "123"));
        User user = this.repository.findByUsername("sboot");

        assertThat(user.getUsername()).isEqualTo("sboot");
        assertThat(user.getVin()).isEqualTo("123");
    }

}