estoy escribiendo una prueba de controlador para una aplicación utilizando los carriles 3.1 testunit 2.4.0.ArgumentError: mensaje de afirmación debe ser de cadena o Proc usando assert_select
Quiero afirmar que una determinada partida o no aparece en la página.
estoy usando assert_select así:
assert_select 'h1', {:text => /Key Dates/, :count => 0}
y conseguir el error siguiente:
ArgumentError: assertion message must be String or Proc: <</Key Dates/>
expected but was <"Planner Maternity leave">.>(<Test::Unit::Assertions::AssertionMessage>)
He rastreado esto al hecho de que las llamadas assert_select
build_message
que crea una instancia de AssertionMessage
y lo pasa a la unidad de prueba assert
. Sin embargo, en la versión 2.2 de testunit (febrero de 2011) se agregaron comprobaciones que verifican el tipo de mensaje pasado. Estas comprobaciones activan el ArgumentError
que se muestra arriba.
no estoy seguro de si el error está con la prueba de unidad de ser excesivamente estricta o assert_select pasando el tipo de objeto equivocado.
le puede aconsejar la mejor manera de seguir esto? ¿Alguna solución temporal?
es el problema que el valor en ': text' se supone que es una cadena, y no un patrón? – jefflunt
Hola, no, es bastante aceptable para: texto para ser un Regexp – heathd