Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it L'avatar di MrX87
    Registrato dal
    Jun 2007
    Messaggi
    500

    problema Junit manca un metodo!!

    Ciao a tutto, sto cercando di capire per quale motivo un test di junit mi da un errore che proprio non mi riesco a spiegare!!! posto sotto i vari pezzi di codice

    1) codice della classe del test d Junit:
    codice:
    package it.polito.po.test;
    
    import java.util.List;
    
    import elezioni.Candidato;
    import elezioni.Elezione;
    import elezioni.TentatoDoppioVoto;
    import junit.framework.TestCase;
    
    public class TestR4_Risultati extends TestCase {
    
        Elezione sistema;
    
       public void testPreferenzeCandidato() {
            List<Candidato> esito = sistema.esito();
    
            assertEquals(2,esito.get(0).getPreferenzeDocenti());
            assertEquals(0,esito.get(0).getPreferenzeStudenti());
            assertEquals(0,esito.get(0).getPreferenzePTA());
            
            assertEquals(2,esito.get(1).getPreferenzeStudenti());
            
            assertEquals(1,esito.get(2).getPreferenzePTA());
        }
    }
    Riporto inoltre che il metodo:
    List<Candidato> esito = sistema.esito();
    è stato testato in precedenza allo stesso identico modo e funziona perfettamente.

    2) qui invece riporto parte della classe Candidato:
    codice:
    package elezioni;
    
    public class Candidato {
    	
        private int numero;
    	private String nome;
    	private String cognome;
    	private double voti=0;
    	
    	private int preferenze[] = new int[4];
    	
    	
    	public Candidato ( String nome, String cognome, int codice ) {
    		this.nome = nome;
    		this.cognome = cognome;
    		this.numero = codice;
    		
    		for ( int i=0; i<4; i++ ) {
    			preferenze[i] = 0;
    		}
    		
    	}
         public int getPreferenzeDocenti() {
            return preferenze[Elezione.DOCENTE];
        }
        
        
        public int getPreferenzeStudenti(){
            return preferenze[Elezione.STUDENTE];
        }
        
        
        public int getPreferenzePTA(){
            return preferenze[Elezione.PTA];
        }
    }

    Nella classe di test si ha un errore in questa riga:
    assertEquals(2,esito.get(0).getPreferenzeDocenti() );

    ripeto...un ERRORE...non un failure....quindi significa proprio che c'è qualcosa che non va.....inoltre l'errore è:

    codice:
    java.lang.NoSuchMethodError: elezioni.Candidato.getPreferenzeDocenti()J
    	at      it.polito.po.test.TestR4_Risultati.testPreferenzeCandidato(TestR4_Risultati.java:69)
    	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:616)
    	at junit.framework.TestCase.runTest(TestCase.java:164)
    	at junit.framework.TestCase.runBare(TestCase.java:130)
    	at junit.framework.TestResult$1.protect(TestResult.java:106)
    	at junit.framework.TestResult.runProtected(TestResult.java:124)
    	at junit.framework.TestResult.run(TestResult.java:109)
    	at junit.framework.TestCase.run(TestCase.java:120)
    	at junit.framework.TestSuite.runTest(TestSuite.java:230)
    	at junit.framework.TestSuite.run(TestSuite.java:225)
    	at junit.framework.TestSuite.runTest(TestSuite.java:230)
    	at junit.framework.TestSuite.run(TestSuite.java:225)
    	at org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:130)
    	at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
    	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
    	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
    	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
    	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
    Vedendo comparire la scritta:
    java.lang.NoSuchMethodError: elezioni.Candidato.getPreferenzeDocenti()

    penso che il metodo manca nella classe Candidato....invece....c'è....per quale motivo viene generato st'errore?? non riesco proprio a venirne a capo!

    se qualcuno riesce a darmi una mano...grazie!
    "Non può piovere per sempre" Il Corvo
    Forza Vigor!

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    provato a fare una clean and build?
    non mi viene in mente niente...che succede se commenti il test?
    RTFM Read That F*** Manual!!!

  3. #3
    Utente di HTML.it L'avatar di MrX87
    Registrato dal
    Jun 2007
    Messaggi
    500
    Adesso provo a farlo....il test non posso commentarlo
    "Non può piovere per sempre" Il Corvo
    Forza Vigor!

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    una riga nel test si che puoi commentarla
    RTFM Read That F*** Manual!!!

  5. #5
    Utente di HTML.it L'avatar di MrX87
    Registrato dal
    Jun 2007
    Messaggi
    500
    il fatto è che i test penso siano protetti dalle modifiche...perchè su eclipse non mi fa modificare nulla....mi hanno dato un file .jar da aggiungere al progetto....
    "Non può piovere per sempre" Il Corvo
    Forza Vigor!

  6. #6
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    che file .jar ? si va ad intuito?
    A questo punto però se i test ti sono arrivati, rivolgiti a chi li ha creati, loro sicuramente conosceranno meglio di noi il problema (visto che adesso io brancolo nel buio) e sapranno darti aiuto
    RTFM Read That F*** Manual!!!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.