JUnit er et framework til unit-test af programmeringssprog Java. JUnit blev en vigtig del i udviklingen af metoden til oprettelse af test-drevet udvikling og er en del af en gruppe frameworks til unit-test, der er kendt som xUnit og som udsprang fra SUnit.

JUnit
Udvikler(e) Kent Beck, Erich Gamma, David Saff, Mike Clark
Stabil version 4.12 (4. december 2014)
Skrevet i Java
Operativsystem Multiplattform
Type Unit-testing
Licens Eclipse Public License
Hjemmeside junit.org

JUnit linkes som en JAR-fil ved kompileringen; frameworket findes i pakken junit.framework for JUnit 3.8 og tidligere og i pakken org.junit for JUnit 4 og nyere.

I en undersøgelse fra 2013, som omfattede 10.000 projekter på GitHub, var JUnit, sammen med slf4j-api, de oftest anvendte kodebiblioteker. Kodebibliotekerne anvendtes i 30,7 % af projekterne.[1]

Eksempel på anvendelse af JUnit redigér

I ældre udgaver af JUnit var man tvunget til at lade fixturer arve fra junit.framework.TestCase, men de nye der anvender JUnit 4 behøver ikke gøre dette.[2] Testmetoder skal annoteres med @Test. Efter behov er det endog muligt at lade en metode køre før (eller efter) hver (eller alle) testmetoder med annoteringerne @Before (eller @After) og @BeforeClass (eller @AfterClass).[3][2]

import org.junit.*;

public class TestFoobar {
    @BeforeClass
    public static void setUpClass() throws Exception {
        // Kod som körs innan den första testmetoden
    }

    @Before
    public void setUp() throws Exception {
        // Kod som körs innan varje test
    }
 
    @Test
    public void testOneThing() {
        // Kod som testar en del
    }

    @Test
    public void testAnotherThing() {
        // Kod som testar en annan del
    }

    @Test
    public void testSomethingElse() {
        // Kod som testar någonting annat
    }

    @After
    public void tearDown() throws Exception {
        // Kod som körs efter varje test  
    }
 
    @AfterClass
    public static void tearDownClass() throws Exception {
        // Kod som körs efter den sista testmetoden
    }
}

Referencer redigér

  1. ^ "We Analyzed 30,000 GitHub Projects – Here Are The Top 100 Libraries in Java, JS and Ruby". Arkiveret fra originalen 9. juli 2014. Hentet 24. november 2017.
  2. ^ a b Kent Beck, Erich Gamma. "JUnit Cookbook". junit.sourceforge.net. Arkiveret fra originalen 15. juni 2020. Hentet 24. november 2017.
  3. ^ Kent Beck. "Expensive Setup Smell". C2 Wiki. Hentet 24. november 2017.