Nullpointerexceptiopn avec un objet de l'interface crudrepository
moses-16
-
moses-16 -
moses-16 -
package com.shopme.admin.user; import static org.assertj.core.api.Assertions.assertThat; import org.junit.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.autoconfigure.jdbc.AutoConfigureTestDatabase; import org.springframework.boot.test.autoconfigure.jdbc.AutoConfigureTestDatabase.Replace; import org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest; import com.shopme.common.entity.Role; @DataJpaTest @AutoConfigureTestDatabase(replace = Replace.NONE) public class RoleRepositoryTests { @Autowired private RoleRepository repo; @Test public void testCreateFirstRole(){ Role roleAdmin = new Role("Admin" , "manage everythings"); Role savedRole =repo.save(roleAdmin); assertThat(savedRole.getId()).isGreaterThan(0); } }
voici le code de ma classe test,lorsque je lance un test junit il me retourne un nullpointerexception sur l'objet repos avec ce message:
java.lang.NullPointerException: Cannot invoke "com.shopme.admin.user.RoleRepository.save(Object)" because "this.repo" is null
A voir également:
- Nullpointerexceptiopn avec un objet de l'interface crudrepository
- Vente objet occasion entre particulier - Guide
- Common interface 5v only - Forum TV & Vidéo
- Trouver objet avec photo - Guide
- Mesurer un objet - Guide
- Installation module CI sur TV samsung UE40JU6400. - Forum TNT / Satellite / Réception
2 réponses
Bonjour,
Tu devrais indiquer à JUnit que tu as besoin de démarrer le contexte Spring, comme le vrai programme le fait au démarrage (ce qui peut être long).
Par exemple avec @RunWith(SpringJUnit4ClassRunner.class) ou @ExtendWith(SpringExtension.class) selon ta version de JUnit.
Tu devrais indiquer à JUnit que tu as besoin de démarrer le contexte Spring, comme le vrai programme le fait au démarrage (ce qui peut être long).
Par exemple avec @RunWith(SpringJUnit4ClassRunner.class) ou @ExtendWith(SpringExtension.class) selon ta version de JUnit.
Tu devrais reprendre une configuration d'un projet qui fonctionne et t'en inspirer.
Il y a notamment les archetype de Spring Boot, voici un exemple pour data-jpa :
Ça te donnera une base qui fonctionne, aussi bien dans la config src/main que dans la config src/test
Il y a notamment les archetype de Spring Boot, voici un exemple pour data-jpa :
mvn archetype:generate -DarchetypeGroupId=org.springframework.boot -DarchetypeArtifactId=spring-boot-sample-data-jpa-archetype -DgroupId=com.shopme.admin.user -DartifactId=spring-data-jpa -DinteractiveMode=false cd spring-data-jpa mvn install
Ça te donnera une base qui fonctionne, aussi bien dans la config src/main que dans la config src/test
j'ai cette erreur