8

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]>

正規表現は比較されている単なる文字列のようです。私は何が欠けていますか?

4

2 に答える 2

15

実際に正規表現を使用しているようには見えません。多分これがあなたがやろうとしていることのようですか?

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

編集#1:

また、正規表現が正しくない可能性があるようです。試してください:

Assert.assertTrue(driver.getTitle().matches(".*TST-\\d{5}.*"));
于 2010-12-02T00:02:17.993 に答える
0

2 つの文字列が同じであると主張しています。あなたの場合、タイトルが正規表現ではなく、「regexp: TST- [0-9]{5}」と等しいことを確認しようとしています。

あなたはおそらくこれをしたいでしょう:

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)

于 2010-12-02T00:07:37.743 に答える