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 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 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 | rediger kildetekst]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 | rediger kildetekst]- ^ "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.
- ^ a b Kent Beck, Erich Gamma. "JUnit Cookbook". junit.sourceforge.net. Arkiveret fra originalen 15. juni 2020. Hentet 24. november 2017.
- ^ Kent Beck. "Expensive Setup Smell". C2 Wiki. Hentet 24. november 2017.