Je possède ce code de test unitaire pour se moquant quelque chose:Comment tester un cas de test d'unité paramétré avec un argument jmockit supplémentaire?
import org.junit.Assert;
import org.junit.Test;
import mockit.*;
import org.junit.runner.RunWith;
import com.googlecode.zohhak.api.TestWith;
import com.googlecode.zohhak.api.runners.ZohhakRunner;
@RunWith(ZohhakRunner.class)
public class PersonTest{
@Test
public void testGetName(@Capturing final Person p) {
// I need P object for mocking;
Assert.assertTrue(true);
}
@TestWith({
"1, 1",
"2, 2"
})
public void test_is_euqal(int input, int expected, @Capturing final Person p){
// ... some code here ...
// I need P Object for mocking but don't want to use it as parametrized
Assert.assertEquals(Integer.valueOf(expected), Integer.valueOf(input));
}
}
premier test
(testGetName
) est OK, mais le second test jet ArrayIndexOutOfBoundsException
exception parce que j'utilise @capturing
dans les arguments. est-il un moyen d'envoyer un argument à un cas de test et ne pas parametrized
sans lancer aucune exception ArrayIndexOutOfBoundsException
?
Vous souhaitez un objet de personne utilisateur facultativement en argument? –
@BilalShah oui. mais il jette une exception :(parce que j'utilise 3 arguments dans la définition de testcase mais définit 2 valeurs dans '@TestWith ({....})' Je veux un moyen d'utiliser l'objet 'Person' dans les arguments qui ne jette pas une exception (comme le premier cas de test) – shotgunner