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?

Était-ce utile?

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}"));

http://cupi2.uniandes.edu.co/javadoc/j2se/1.5.0/docs/api/java/lang/String.html#matches (java.lang.String)

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top