Esempio Junit con eclipse

di il
6 risposte

Esempio Junit con eclipse

Ciao ragazzi,qualcuno mi potrebbe mandare qualche esempio semplice per farmi capire come funziona junit? Ho provato con il calcolo del fattoriale ma mi da sempre il failures nonostante vada a correggere:

public class classe_fattor {
public static int fattoriale(int n){
int fatt;
int i;
fatt = 1;
for(i=1;i<n;i++){
fatt *= i;
}
return fatt;
}

}

classe test

import static org.junit.Assert.*;

import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;


public class classe_fattorTest {

@BeforeClass
public static void setUpBeforeClass() throws Exception {
}

@AfterClass
public static void tearDownAfterClass() throws Exception {
}

@Before
public void setUp() throws Exception {
}

@After
public void tearDown() throws Exception {
}

@Test
public void testFattoriale() {
fail("Not yet implemented");
}
public void testFattorialeZero() {
assertEquals(1,classe_fattor.fattoriale(1));
}
}

6 Risposte

  • Re: Esempio Junit con eclipse

    centurione_agrippa ha scritto:


    Ho provato con il calcolo del fattoriale ma mi da sempre il failures nonostante vada a correggere
    Hai un metodo annotato @Test che fallisce sempre ("non implementato") mentre l'altro dove testi qualcosa non è annotato @Test
  • Re: Esempio Junit con eclipse

    Ciao e grazie per avermi risposto... Potresti dirmi dove devo correggere? Ho capito dove ho sbagliato ma non so come correggere
  • Re: Esempio Junit con eclipse

    centurione_agrippa ha scritto:


    Potresti dirmi dove devo correggere? Ho capito dove ho sbagliato ma non so come correggere
    Ogni metodo di test deve essere annotato con @Test . Il tuo testFattorialeZero non è annotato così.
  • Re: Esempio Junit con eclipse

    Grazie mille,problema risolto
  • Re: Esempio Junit con eclipse

    Ora che ho capito come funziona Junit vorrei provarlo con un programma più corposo. Hai dei suggerimenti ?
  • Re: Esempio Junit con eclipse

    centurione_agrippa ha scritto:


    Ora che ho capito come funziona Junit vorrei provarlo con un programma più corposo. Hai dei suggerimenti ?
    Mah .. dipende da cosa devi testare e dal contesto, perché potresti aver bisogno di studiare anche altre cose!
    Il metodo fattoriale che hai testato è estremamente banale, è un semplice metodo statico di "utilità" e non dipende da alcun oggetto "collaboratore". Pertanto lo unit testing è parecchio basilare/banale.

    Se invece il SUT (System Under Test, ovvero in questo contesto la classe sotto test) utilizza degli oggetti "collaboratori" (detti DOC, Depended On Component) questi li dovresti rendere "fittizi", ovvero dei "mock". E per questo esistono librerie apposite come Mockito.
Devi accedere o registrarti per scrivere nel forum
6 risposte