سؤال

أواجه مشاكل في استخدام regexp في بيان assertequals (). هذا هو البيان.

Assert.assertEquals("regexp:*TST-*[0-9]{5}", driver.getTitle());

لكني أحصل على هذا الخطأ:

org.junit.ComparisonFailure: expected:<[regexp:*TST-*[0-9]{5}]> but was:<[[#TST-23570] This is the new summary]>

يبدو أن regexp هو مجرد سلسلة تتم مقارنتها. ماذا ينقصني؟

هل كانت مفيدة؟

المحلول

لا يبدو أنك في الواقع استخدام Regex. يبدو أن هذا ما تحاول فعله؟

Assert.assertTrue(driver.getTitle().matches("*TST-*[0-9]{5}"));

تحرير #1:

يبدو أيضًا أن Regex قد لا يكون صحيحًا تمامًا ، حاول:

Assert.assertTrue(driver.getTitle().matches(".*TST-\\d{5}.*"));

نصائح أخرى

أنت تؤكد أن سلسلتين متماثلين. في حالتك ، تحاول التحقق من أن عنوانك يساوي "regexp:tst-0-9] {5} "، وليس regexp.

ربما تريد أن تفعل هذا:

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)

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top