AssertContains sur les chaînes de jUnit
Est-il une plus belle façon de les écrire dans jUnit
String x = "foo bar";
Assert.assertTrue(x.contains("foo"));
- IMO c'est assez sympa, les options proposées sont de moins en moins lisible
- moins lisible, mais de produire plus de sens affirmation des erreurs (c'est à dire, la réponse sera de montrer la différence dans les chaînes, comme OPs solution juste montrer "False lorsque attendu True" en cas d'échec)
Vous devez vous connecter pour publier un commentaire.
Si vous ajoutez dans Hamcrest et JUnit4, vous pouvez faire:
Avec quelques statique des importations, il semble beaucoup mieux:
La statique des importations serait de:
org.junit.Assert
contrejunit.framework.Assert
, que ce dernier n'a pas le Hamcrest MatcherassertThat()
assertThat
est plus utile alors unassertTrue
import static org.junit.Assert.assertThat; import static org.hamcrest.CoreMatchers.containsString;
- juste pour sauver quelqu'un de malorg.hamcrest.Matchers.containsString;
dans la dernière api, dans lehamcrest-library
de dépendance.import org.hamcrest.Matchers; import static org.hamcrest.MatcherAssert.assertThat; assertThat(<string>, Matchers.containsString("<your string>"));
org.hamcrest.CoreMatchers
est pas disponible, mais hamcrest-core.jar (1.3) dans le classpath. Que puis-je faire?org.hamcrest.core.StringContains.containsString( String )
utilisation fest assert 2.0 chaque fois que possible EDIT: assertj peut avoir plus d'assertions (une fourchette)
Utilisation hamcrest Matcher
containsString()
Vous pouvez en option ajouter encore plus de détails message d'erreur.
Posté ma réponse à une double question ici
Utiliser le nouveau
assertThat
syntaxe avec Hamcrest.Il est disponible à partir de JUnit 4.4.
Une autre variante est
De plus en
org.mockito.internal.matchers
il y a quelques autres intéressant les allumettes, commeStartWith
,Contains
etc.J'ai essayé beaucoup de réponses sur cette page, aucun n'a vraiment fonctionné:
Donc au lieu d'écrire un code lisible, j'ai décidé d'utiliser le simple et l'approche pratique mentionnée dans la question de la place.
Nous espérons une autre solution viendra.