2010-12-01 14 views
7

Tengo problemas con el uso de expresiones regulares en mi declaración assertEquals(). Esta es la declaración.El uso de expresiones regulares en assertEquals() no funciona

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

pero me sale este error:

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

Parece que la expresión regular es una cadena que se está comparando. ¿Qué me estoy perdiendo?

+2

¿Dónde viste el hecho de que sólo se puede utilizar "expresión regular:" en un assertEquals? – Falmarri

+0

@Falmarri - Me preguntaba lo mismo :) (+1) – javamonkey79

+0

Estoy aprendiendo, así que dame un descanso. – John

Respuesta

10

Parece que en realidad no es utilizando regex. Parece que tal vez esto es lo que estás tratando de hacer?

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

editar # 1:

También parece que su expresión regular podría no ser del todo bien, tratar:

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

Gracias, eso funciona genial. Todo lo que necesitaba era un ejemplo. Ahora lo entiendo. – John

+0

Si eso es lo que necesita, ¿le molesta votar y/o aceptar esta respuesta? Gracias :) – javamonkey79

Cuestiones relacionadas