Un cas de test (test case) peut être considéré comme le pendant d'un cas d'utilisation (use case). Pour chaque scénario de ce dernier, il propose un test validant son implémentation.
Un cas de test JUnit est constitué d'une classe contenant :
Toute classe de test hérite de junit.framework.TestCase
et implémente
autant de méthode testXxx()
que de scénarios à tester.
Elle peut redéfinir si elle le souhaite :
setUp()
pour initialiser le montage (fixture) des objets soumis au testtearDown()
pour le nettoyage de fin de test.Un exemple de classe de test JUnit est :
import
<strong>junit.framework</strong>
.*;
<br> import org.javarome.exemple.MaClasse;<br> <b><br> public </b>class MonTest <b>extends TestCase</b> {<br> <br> <b>public </b>MonTest <b>(String </b>someTestName<b>)</b> {<br> <b>super (</b>someTestName<b>);</b><br> }<br> <b><br> protected void setUp()</b> {<br> <span class="codeComment">// Initialisation des tests</span><br> }<br> <br> <b> public void test</b>Scenario1() {<br> <span class="codeComment">// Code du test de scénario 1</span><br> final String expected = <span class="codeString">"EXPECTED RESULT"</span>;<br> String tested = new MaClasse().method ();<br> <b>assertTrue </b>(expected.equals (tested));<br> }<br> <br> <b> public void test</b>Scenario2() {<br> <span class="codeComment">// Code du test de scénario 2</span><br> }<br> <br> <b> protected void tearDown()</b> {<br> <span class="codeComment">// Nettoyage fin de test</span><br> }<br> }
ClassCastException
, faisant échouer certains test à tort.