TP04 - Fichier html avec erreurs [RESOLU]

Modérateurs : graffion, jmdouin, agoncal, mlebihan

lamy
Messages : 6
Inscription : 12 oct. 2013 14:37

TP04 - Fichier html avec erreurs [RESOLU]

Message par lamy » 08 nov. 2015 19:00

Bonjour,

Le fichier html généré suite à l'exécution de la commande ant yaps-mark contient des erreurs, bien que la commande ant yaps-test n'ait levé aucune erreur.
Les erreurs levées sont toutes du même type, à savoir qu'il ne retrouve pas les méthodes de la classe Customer issue d'un package Lcom/yaps/petstore/domain/.
Voici le contenu du fichier :

Code : Tout sélectionner

testServiceUpdateCustomerWithInvalidValues(T): Votre exécutable a échoué en levant une exception.

Exception levée: java.lang.NoSuchMethodError

Message : com.yaps.petstore.service.CustomerService.updateCustomer(Lcom/yaps/petstore/domain/customer/Customer;)V

Pile d'appel: 
java.lang.NoSuchMethodError: com.yaps.petstore.service.CustomerService.updateCustomer(Lcom/yaps/petstore/domain/customer/Customer;)V 
at T.testServiceUpdateCustomerWithInvalidValues(Unknown Source) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
at java.lang.reflect.Method.invoke(Method.java:606) 
at junit.framework.TestCase.runTest(TestCase.java:168) 
at junit.framework.TestCase.runBare(TestCase.java:134) 
at junit.framework.TestResult$1.protect(TestResult.java:110) 
at junit.framework.TestResult.runProtected(TestResult.java:128) 
at junit.framework.TestResult.run(TestResult.java:113) 
at junit.framework.TestCase.run(TestCase.java:124) 
at junit.framework.TestSuite.runTest(TestSuite.java:232) 
at junit.framework.TestSuite.run(TestSuite.java:227) 
at junit.framework.TestSuite.runTest(TestSuite.java:232) 
at junit.framework.TestSuite.run(TestSuite.java:227) 
at O.tester(Unknown Source) 
at O.testerEtQuitter(Unknown Source) 
at Tests.main(Unknown Source) 

testServiceUpdateCustomerWithInvalidValues(T): com.yaps.petstore.service.CustomerService.updateCustomer(Lcom/yaps/petstore/domain/customer/Customer;)V


testServiceFindAllCustomers(T): Votre exécutable a échoué en levant une exception.

Exception levée: java.lang.NoSuchMethodError

Message : com.yaps.petstore.service.CustomerService.createCustomer(Lcom/yaps/petstore/domain/customer/Customer;)Lcom/yaps/petstore/domain/customer/Customer;

Pile d'appel: 
java.lang.NoSuchMethodError: com.yaps.petstore.service.CustomerService.createCustomer(Lcom/yaps/petstore/domain/customer/Customer;)Lcom/yaps/petstore/domain/customer/Customer; 
at T.a(Unknown Source) 
at T.testServiceFindAllCustomers(Unknown Source) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
at java.lang.reflect.Method.invoke(Method.java:606) 
at junit.framework.TestCase.runTest(TestCase.java:168) 
at junit.framework.TestCase.runBare(TestCase.java:134) 
at junit.framework.TestResult$1.protect(TestResult.java:110) 
at junit.framework.TestResult.runProtected(TestResult.java:128) 
at junit.framework.TestResult.run(TestResult.java:113) 
at junit.framework.TestCase.run(TestCase.java:124) 
at junit.framework.TestSuite.runTest(TestSuite.java:232) 
at junit.framework.TestSuite.run(TestSuite.java:227) 
at junit.framework.TestSuite.runTest(TestSuite.java:232) 
at junit.framework.TestSuite.run(TestSuite.java:227) 
at O.tester(Unknown Source) 
at O.testerEtQuitter(Unknown Source) 
at Tests.main(Unknown Source) 

testServiceFindAllCustomers(T): com.yaps.petstore.service.CustomerService.createCustomer(Lcom/yaps/petstore/domain/customer/Customer;)Lcom/yaps/petstore/domain/customer/Customer;


testServiceCreateCustomer(T): Votre exécutable a échoué en levant une exception.

Exception levée: java.lang.NoSuchMethodError

Message : com.yaps.petstore.service.CustomerService.createCustomer(Lcom/yaps/petstore/domain/customer/Customer;)Lcom/yaps/petstore/domain/customer/Customer;

Pile d'appel: 
java.lang.NoSuchMethodError: com.yaps.petstore.service.CustomerService.createCustomer(Lcom/yaps/petstore/domain/customer/Customer;)Lcom/yaps/petstore/domain/customer/Customer; 
at T.a(Unknown Source) 
at T.testServiceCreateCustomer(Unknown Source) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
at java.lang.reflect.Method.invoke(Method.java:606) 
at junit.framework.TestCase.runTest(TestCase.java:168) 
at junit.framework.TestCase.runBare(TestCase.java:134) 
at junit.framework.TestResult$1.protect(TestResult.java:110) 
at junit.framework.TestResult.runProtected(TestResult.java:128) 
at junit.framework.TestResult.run(TestResult.java:113) 
at junit.framework.TestCase.run(TestCase.java:124) 
at junit.framework.TestSuite.runTest(TestSuite.java:232) 
at junit.framework.TestSuite.run(TestSuite.java:227) 
at junit.framework.TestSuite.runTest(TestSuite.java:232) 
at junit.framework.TestSuite.run(TestSuite.java:227) 
at O.tester(Unknown Source) 
at O.testerEtQuitter(Unknown Source) 
at Tests.main(Unknown Source) 

testServiceCreateCustomer(T): com.yaps.petstore.service.CustomerService.createCustomer(Lcom/yaps/petstore/domain/customer/Customer;)Lcom/yaps/petstore/domain/customer/Customer;


testServiceUpdateCustomer(T): Votre exécutable a échoué en levant une exception.

Exception levée: java.lang.NoSuchMethodError

Message : com.yaps.petstore.service.CustomerService.createCustomer(Lcom/yaps/petstore/domain/customer/Customer;)Lcom/yaps/petstore/domain/customer/Customer;

Pile d'appel: 
java.lang.NoSuchMethodError: com.yaps.petstore.service.CustomerService.createCustomer(Lcom/yaps/petstore/domain/customer/Customer;)Lcom/yaps/petstore/domain/customer/Customer; 
at T.a(Unknown Source) 
at T.testServiceUpdateCustomer(Unknown Source) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
at java.lang.reflect.Method.invoke(Method.java:606) 
at junit.framework.TestCase.runTest(TestCase.java:168) 
at junit.framework.TestCase.runBare(TestCase.java:134) 
at junit.framework.TestResult$1.protect(TestResult.java:110) 
at junit.framework.TestResult.runProtected(TestResult.java:128) 
at junit.framework.TestResult.run(TestResult.java:113) 
at junit.framework.TestCase.run(TestCase.java:124) 
at junit.framework.TestSuite.runTest(TestSuite.java:232) 
at junit.framework.TestSuite.run(TestSuite.java:227) 
at junit.framework.TestSuite.runTest(TestSuite.java:232) 
at junit.framework.TestSuite.run(TestSuite.java:227) 
at O.tester(Unknown Source) 
at O.testerEtQuitter(Unknown Source) 
at Tests.main(Unknown Source) 

testServiceUpdateCustomer(T): com.yaps.petstore.service.CustomerService.createCustomer(Lcom/yaps/petstore/domain/customer/Customer;)Lcom/yaps/petstore/domain/customer/Customer;


testServiceCreateCustomerWithInvalidValues(T): Votre exécutable a échoué en levant une exception.

Exception levée: java.lang.NoSuchMethodError

Message : com.yaps.petstore.service.CustomerService.createCustomer(Lcom/yaps/petstore/domain/customer/Customer;)Lcom/yaps/petstore/domain/customer/Customer;

Pile d'appel: 
java.lang.NoSuchMethodError: com.yaps.petstore.service.CustomerService.createCustomer(Lcom/yaps/petstore/domain/customer/Customer;)Lcom/yaps/petstore/domain/customer/Customer; 
at T.testServiceCreateCustomerWithInvalidValues(Unknown Source) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
at java.lang.reflect.Method.invoke(Method.java:606) 
at junit.framework.TestCase.runTest(TestCase.java:168) 
at junit.framework.TestCase.runBare(TestCase.java:134) 
at junit.framework.TestResult$1.protect(TestResult.java:110) 
at junit.framework.TestResult.runProtected(TestResult.java:128) 
at junit.framework.TestResult.run(TestResult.java:113) 
at junit.framework.TestCase.run(TestCase.java:124) 
at junit.framework.TestSuite.runTest(TestSuite.java:232) 
at junit.framework.TestSuite.run(TestSuite.java:227) 
at junit.framework.TestSuite.runTest(TestSuite.java:232) 
at junit.framework.TestSuite.run(TestSuite.java:227) 
at O.tester(Unknown Source) 
at O.testerEtQuitter(Unknown Source) 
at Tests.main(Unknown Source) 

testServiceCreateCustomerWithInvalidValues(T): com.yaps.petstore.service.CustomerService.createCustomer(Lcom/yaps/petstore/domain/customer/Customer;)Lcom/yaps/petstore/domain/customer/Customer;


testServiceCreateOrder(k): Votre exécutable a échoué en levant une exception.

Exception levée: java.lang.NoSuchMethodError

Message : com.yaps.petstore.service.CustomerService.createCustomer(Lcom/yaps/petstore/domain/customer/Customer;)Lcom/yaps/petstore/domain/customer/Customer;

Pile d'appel: 
java.lang.NoSuchMethodError: com.yaps.petstore.service.CustomerService.createCustomer(Lcom/yaps/petstore/domain/customer/Customer;)Lcom/yaps/petstore/domain/customer/Customer; 
at k.a(Unknown Source) 
at k.testServiceCreateOrder(Unknown Source) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
at java.lang.reflect.Method.invoke(Method.java:606) 
at junit.framework.TestCase.runTest(TestCase.java:168) 
at junit.framework.TestCase.runBare(TestCase.java:134) 
at junit.framework.TestResult$1.protect(TestResult.java:110) 
at junit.framework.TestResult.runProtected(TestResult.java:128) 
at junit.framework.TestResult.run(TestResult.java:113) 
at junit.framework.TestCase.run(TestCase.java:124) 
at junit.framework.TestSuite.runTest(TestSuite.java:232) 
at junit.framework.TestSuite.run(TestSuite.java:227) 
at junit.framework.TestSuite.runTest(TestSuite.java:232) 
at junit.framework.TestSuite.run(TestSuite.java:227) 
at O.tester(Unknown Source) 
at O.testerEtQuitter(Unknown Source) 
at Tests.main(Unknown Source) 

testServiceCreateOrder(k): com.yaps.petstore.service.CustomerService.createCustomer(Lcom/yaps/petstore/domain/customer/Customer;)Lcom/yaps/petstore/domain/customer/Customer;

Avez-vous une piste pour m'aider résoudre le problème ?
Merci d'avance et bonne soirée.

JPL

graffion
Messages : 659
Inscription : 21 juin 2005 14:05

Re: TP04 - Fichier html avec erreurs

Message par graffion » 10 nov. 2015 0:24

Bonjour,

Pouvez vous donner la signature de votre méthode updateCustomer de la classe Customer?
(Les tests lancés par yaps-mark attendent apparemment qu'elle retourne void.)

lamy
Messages : 6
Inscription : 12 oct. 2013 14:37

Re: TP04 - Fichier html avec erreurs

Message par lamy » 10 nov. 2015 0:30

Bonjour,

Ma méthode retourne bien void pourtant, voici sa signature :

Code : Tout sélectionner

public void updateCustomer(Object customer) throws UpdateException, CheckException

graffion
Messages : 659
Inscription : 21 juin 2005 14:05

Re: TP04 - Fichier html avec erreurs

Message par graffion » 10 nov. 2015 0:40

La trace

Code : Tout sélectionner

updateCustomer(Lcom/yaps/petstore/domain/customer/Customer;)V
indique aussi que la méthode updateCustomer attend en paramètre une instance de com.yaps.petstore.domain.customer.Customer

lamy
Messages : 6
Inscription : 12 oct. 2013 14:37

Re: TP04 - Fichier html avec erreurs

Message par lamy » 10 nov. 2015 1:29

Merci, le changement du type en paramètre m'a permis de valider certains tests. A noter que j'avais oublié une condition de vérification au sein de la méthode updateCustomer pour supprimer définitivement les erreurs concernant cette méthode.

En revanche, j'obtiens toujours la même erreur pour la méthode createCustomer depuis son appel via le test OrderServiceTest > testServiceCreateOrder > createOrder.
Voici sa signature :

Code : Tout sélectionner

public Customer createCustomer(Customer customer) throws CreateException, CheckException
J'ai vérifié les paramètres en entrée lors de l'appel à cette méthode ainsi que les conditions de validité (customer != null + checkData avant insertion en base puis instruction de retour du customer avec id), et ai comparé avec les instructions des autres invocations de cette méthode mais je ne vois rien d'anormal...
Je vous mets la trace depuis le terminal de commande Windows (aucune erreur n'est levée sous Eclipse, et le fichier html généré via yaps-mark ne contient aucune erreur)

Code : Tout sélectionner

    [junit] Testcase: testServiceCreateOrder took 0.094 sec
    [junit]     Caused an ERROR
    [junit] com.yaps.petstore.service.CustomerService.createCustomer(Ljava/lang/
Object;)Lcom/yaps/petstore/domain/customer/Customer;
    [junit] java.lang.NoSuchMethodError: com.yaps.petstore.service.CustomerServi
ce.createCustomer(Ljava/lang/Object;)Lcom/yaps/petstore/domain/customer/Customer
;
    [junit]     at com.yaps.petstore.service.OrderServiceTest.createOrder(Unknow
n Source)
    [junit]     at com.yaps.petstore.service.OrderServiceTest.testServiceCreateO
rder(Unknown Source)
Je vous remercie d'avance pour vos commentaires.

lamy
Messages : 6
Inscription : 12 oct. 2013 14:37

Re: TP04 - Fichier html avec erreurs

Message par lamy » 11 nov. 2015 11:56

Bonjour,

Après un clean et un build via ant, tous les tests ont été validés.
Je suppose que le problème devait venir du .class de CustomerService qui n'était pas à jour.
Merci de votre aide et bonne journée.

Répondre

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 1 invité