Peut junit test de la méthode de jeter une exception?
Pourriez-vous me dire s'il vous plaît est-il normal que la pratique de la méthode d'écriture aka de Test JUnit, qui lève une Exception, par exemple
class A {
public String f(int param) throws Exception {
if (param == 100500)
throw new Exception();
return "";
}
}
private A object = new A();
@Test
public void testSomething() throws Exception {
String expected = "";
assertEquals(object.f(5), expected);
}
En fait, la méthode f()
ne va pas faire une exception pour ce paramètre(5) néanmoins, je me dois de déclarer que l'exception.
Oui, c'est la façon dont vous allez. Et JUnit coureur de retrouver toute levée d'une exception et le test échoue.
vous pouvez l'utiliser à l'exception de catch dans JUnit test
vous ne voulez utiliser
double possible de Mauvais pour JUnit test de jeter l'exception?
Ne semble pas être un doublon pour moi.
vous pouvez l'utiliser à l'exception de catch dans JUnit test
vous ne voulez utiliser
expected
dans le cas de test où l'exception est prévue. mais dans l'exemple illustré à la throws
est nécessaire, mais l'exception n'est pas prévu.double possible de Mauvais pour JUnit test de jeter l'exception?
Ne semble pas être un doublon pour moi.
OriginalL'auteur Edison Miranda | 2014-11-04
Vous devez vous connecter pour publier un commentaire.
Oui, il est tout à fait acceptable, et si elle ne lève l'exception de l'essai sera considéré comme échoué.
Vous avez besoin de spécifier que la méthode renvoie une
Exception
même si vous savez que le cas particulier ne le fait pas (ce contrôle est effectué par le compilateur).Dans ce cas, ce que vous attendez est
object.f(5)
retourne une chaîne vide. Tout autre résultat (chaîne non vide ou la levée d'une exception) aurait pour conséquence de l'échec d'un cas de test.OriginalL'auteur manouti
Un JUnit Test est destiné à tester une méthode pour corriger le comportement. Il est parfaitement valide scénario que l'testé la méthode renvoie une erreur (par exemple sur les mauvais paramètres). Si elle est cochée exception, vous devez l'ajouter à votre méthode de test de la déclaration ou de l'attraper dans la méthode et de faire Valoir false (si l'exception ne devrait pas se produire).
Vous pouvez utiliser le
expected
champ dans la@Test
d'annotation, de dire JUnit que ce test devrait passer si l'exception se produit.Dans ce cas, la méthode éprouvée doit lever une exception, de sorte que le test passe. Si vous supprimez le
expected = Exception.class
de l'annotation, le test échouera si une exception se produit.OriginalL'auteur WeSt
Si la méthode que vous appelez jette un checked exception oui, vous aurez besoin d'un try catch ou à renvoyer. C'est bien de le faire à partir de l'essai lui-même. Il existe une variété de façons de tester Exception à l'aide de JUnit. J'ai essayé de fournir un bref résumé ci-dessous:
OriginalL'auteur Robert Bain
Vous pouvez tester que l'exception est lancée avec cette:
OriginalL'auteur jjlema