JUnit
JUnit | |
Utvecklare | Kent Beck, Erich Gamma, David Saff, Mike Clark |
---|---|
Senaste utgåva | 5.9.1 (20 september 2022) |
Skriven i | Java |
Operativsystem | Multiplattform |
Typ | Enhetstestning |
Licens | Eclipse Public License |
Webbplats | junit.org |
JUnit är ett ramverk för enhetstestning av programmeringsspråket Java. JUnit var en viktig del i utvecklingen av utvecklingsmetoden testdriven utveckling och är en del av en grupp enhetstestande ramverk, känd som xUnit, som skapades i samma veva som SUnit.
JUnit länkas som en JAR-fil vid kompilering; ramverket finns i paketet junit.framework
för JUnit 3.8 och tidigare, och i paketet org.junit
för JUnit 4 och senare.
I en undersökning från 2013 som täckte 10 000 projekt på GitHub var JUnit, tillsammans med slf4j-api, de mest använda kodbiblioteken. Kodbiblioteken användes i 30,7 % av projekten.[1]
Exempel på användning av JUnit
[redigera | redigera wikitext]I äldre utgåvor av JUnit var man tvungen att låta fixturer ärva från junit.framework.TestCase
, men de nya som använder JUnit 4 behöver inte göra detta.[2] Testmetoder måste märkas med märkningen @Test
. Vid behov[3] kommer det även vara möjligt att låta en metod köra före (eller efter) varje (eller alla) testmetoder med märkningarna @Before
(eller @After
) och @BeforeClass
(eller @AfterClass
).[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
}
}
Referenser
[redigera | redigera wikitext]- Den här artikeln är helt eller delvis baserad på material från engelskspråkiga Wikipedia.
- ^ ”We Analyzed 30,000 GitHub Projects – Here Are The Top 100 Libraries in Java, JS and Ruby”. Arkiverad från originalet den 9 juli 2014. https://web.archive.org/web/20140709221250/http://www.takipiblog.com/2013/11/20/we-analyzed-30000-github-projects-here-are-the-top-100-libraries-in-java-js-and-ruby/. Läst 11 april 2015.
- ^ [a b] Kent Beck, Erich Gamma. ”JUnit Cookbook”. junit.sourceforge.net. Arkiverad från originalet den 15 juni 2020. https://web.archive.org/web/20200615030913/http://junit.sourceforge.net/doc/cookbook/cookbook.htm. Läst 21 maj 2011.
- ^ Kent Beck. ”Expensive Setup Smell”. C2 Wiki. http://c2.com/cgi/wiki?ExpensiveSetUpSmell. Läst 28 november 2011.