En utilisant regexp dans assertEquals () ne fonctionne pas
-
30-09-2019 - |
Question
Je vais avoir des problèmes avec l'utilisation regexp dans ma déclaration assertEquals (). Ceci est la déclaration.
Assert.assertEquals("regexp:*TST-*[0-9]{5}", driver.getTitle());
Mais je reçois cette erreur:
org.junit.ComparisonFailure: expected:<[regexp:*TST-*[0-9]{5}]> but was:<[[#TST-23570] This is the new summary]>
Il semble que le regexp est juste une chaîne qui est comparée. Qu'est-ce que je manque?
La solution
Il ne semble pas que vous êtes en fait avec regex. Il semble que cela est peut-être ce que vous essayez de faire?
Assert.assertTrue(driver.getTitle().matches("*TST-*[0-9]{5}"));
EDIT # 1:
Il semble aussi que votre regex pourrait ne pas être tout à fait raison, essayez:
Assert.assertTrue(driver.getTitle().matches(".*TST-\\d{5}.*"));
Autres conseils
Vous faire valoir les deux chaînes sont les mêmes. Dans votre cas, vous essayez de vérifier que votre titre est égal à "regexp: TST - [0-9] {5}"., Et non l'expression rationnelle
Vous voulez peut-être faire ceci:
assert_true(driver.getTitle().matches("*TST-*[0-9]{5}"));
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow