IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Services Web Java Discussion :

developper un JUNIT test avec RestEasy


Sujet :

Services Web Java

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    728
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 728
    Points : 250
    Points
    250
    Par défaut developper un JUNIT test avec RestEasy
    Bonjour,

    si vous avez lu mon premier post, ma demande a évoluée. J'essaye d'implémenter des test unitaires sur une couche REST avec JUNIT, MOCKITO et RESTEASY

    Voici ma resource
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    Mon interface
    @Path("cf")
    public interface CapacityFileService
    {
     
        @POST
        @Path("createCapacityFile")
        @Produces(MediaType.APPLICATION_JSON)
        public Response createCapacityFile(@Form PartsGroupingSearchDto partsGroupingSearchDto);
    ........................................................
    Mon implementation
        public Response createCapacityFile(PartsGroupingSearchDto partsGroupingSearchDto)
        {
            partsGroupingSearchDto.setUserSession(sessionManagerService.getUserSession(req));
            List<Object[]> allPartsDetail = capacityFileBusiness.createCapacityFile(partsGroupingSearchDto);
            return Response.ok(allPartsDetail).build();
        }
    Et voici mon test
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
     
    package com.renault.dcr.impl.capacityfile;
     
    import java.util.ArrayList;
    import java.util.List;
     
    import javax.servlet.http.HttpServletRequest;
    import javax.ws.rs.client.Entity;
    import javax.ws.rs.core.MediaType;
    import javax.ws.rs.core.Response;
     
    import org.junit.AfterClass;
    import org.junit.Assert;
    import org.junit.Before;
    import org.junit.BeforeClass;
    import org.junit.Test;
    import org.junit.runner.RunWith;
    import org.mockito.InjectMocks;
    import org.mockito.Mock;
    import org.mockito.Mockito;
    import org.mockito.runners.MockitoJUnitRunner;
     
    import com.dcp.data.dto.PartsGroupingSearchDto;
    import com.dcp.data.dto.common.UserSession;
    import com.renault.dcr.business.capacityfile.CapacityFileBusiness;
    import com.renault.dcr.common.service.session.SessionManagerService;
    import com.renault.dcr.utils.InMemoryRestServer;
     
    @RunWith(MockitoJUnitRunner.class)
    public class CapacityFileServiceImplTest {
     
    	@InjectMocks
        public static CapacityFileServiceImpl sut = new CapacityFileServiceImpl();
        public static InMemoryRestServer server;
     
     
    	@Mock
    	private SessionManagerService sessionManagerService;
     
    	@Mock
    	private CapacityFileBusiness capacityFileBusiness;
     
     
    	@Mock
    	private HttpServletRequest req;
     
    	List<Object[]> allPartsDetail;
     
    	UserSession userSession = null;
     
    	PartsGroupingSearchDto partsGroupingSearchDto;
     
        @BeforeClass
        public static void beforeClass() throws Exception {
        	server = InMemoryRestServer.create(sut);
        }
     
        @AfterClass
        public static void afterClass() throws Exception {
        	server.close();
        }
     
    	@Before
    	public void setUp() throws Exception {
    		partsGroupingSearchDto = new PartsGroupingSearchDto();
    		userSession = new UserSession();
     
    		allPartsDetail = new ArrayList<Object[]>();
    		Object[] objectArray = new Object[2];
    		objectArray[0] = "partNumber1";
    		objectArray[1] = "partDescription1";
    		allPartsDetail.add( objectArray);
    	}
     
     
     
    	@Test
    	public void createCapacityFileTest() {
     
    		Mockito.when(sessionManagerService.getUserSession(req)).thenReturn(userSession);
    		Mockito.when(capacityFileBusiness.createCapacityFile(partsGroupingSearchDto)).thenReturn(allPartsDetail);
    		Response response = server.newRequest("cf/createCapacityFile").request(MediaType.APPLICATION_JSON).buildPost(Entity.json(partsGroupingSearchDto)).invoke(); 		
    		List<Object[]> result = (List<Object[]>)response.getEntity();
    		Assert.assertEquals(200, response.getStatus());
     
     
     
    	}
     
    }
    J'ai 2 questions
    1) quand je débugue mon test la method "createCapacityFileTest()" annotée avec @Test n'est meme pas execute. Pourquoi
    2) quand j'obtiens la réponse de mon test je veux reconvertir l'objet Response en List<Object[]>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    List<Object[]> result = (List<Object[]>)response.getEntity();
    je pense que cette solution n'est pas la bonne. Comment faire.

    Merci d'avance pour vos réponses

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    728
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 728
    Points : 250
    Points
    250
    Par défaut
    Re-bonjour,

    je suis distrait ma console d'erreur m'indique
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    NoSuchMethodError: org.jboss.resteasy.spi.ResteasyProviderFactory<init>
    je n'ai toujours pas réussi à résoudre le problème

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    728
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 728
    Points : 250
    Points
    250
    Par défaut
    Bonjour,

    j'ai trouvé la solution à mon probleme. Il y avait un conflit avec les dependances de jboss. EAP 6.1. J'ai donc remplacé dans le repertoire adequat de jboss le jar "resteasy-jaxrs-2.3.8.jar" par "resteasy-jaxrs-3.0.10.jar" et ça fonctionne. Merci pour votre temps

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Tests avec JUnit: assertEquals
    Par daydream123 dans le forum Général Java
    Réponses: 4
    Dernier message: 19/03/2012, 22h49
  2. Réponses: 3
    Dernier message: 11/06/2010, 12h14
  3. [JUnit] Model-based testing avec JUnit
    Par geforce dans le forum Tests et Performance
    Réponses: 0
    Dernier message: 11/01/2010, 00h10
  4. [MVN2][JUnit] test avec les ressources du main
    Par Vince78 dans le forum Maven
    Réponses: 7
    Dernier message: 26/09/2007, 19h33
  5. Test avec Junit, Mock
    Par LESOLEIL dans le forum Tests et Performance
    Réponses: 2
    Dernier message: 27/03/2006, 18h03

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo