2017-03-02 1 views
1

Je veux savoir comment écrire un test Junit pour les classes Spring Repository.Test des entités JPA

A titre d'exemple: classe AccountMoveActionDet

Jpa interface AccountMoveActionDetlJpaRepository

Et je veux tester ce travail de classe de dépôt ou not.Spring Jpa prennent en charge certaines méthodes comme

List findAll(); 
deleteAll(); 

j'ai écrit une classe comme ci-dessous:

@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")); 
    } 

} 

Erreur de création de haricot avec le nom 'com.gayan.cmp.jparepositories.test.AccountTypeMovementJpaRepositoryTest':

S'il vous plaît aidez-moi à résoudre ce problème.

+0

Ajouter la stacktrace complète – Jens

+0

@Jens Cant nous autowired JpaRepositories? –

+0

Oui bien sûr .. – Jens

Répondre

0

Si vous utilisez ressort de démarrage 1.4 et au-dessus du meilleur place de commencer, Test de la tranche 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"); 
    } 

} 
+0

WHT do u dire par @DataJpaTest –

+0

j'ai joint un lien –

+0

Vous devez mentionner, que ce code ne fonctionne que pour le printemps-boot 1.4 et au-dessus – Jens