Estoy intentando escribir una prueba Specs2 que probará la salida de un fragmento en respuesta a diferentes parámetros que normalmente pasarían desde una plantilla , pero no he podido averiguar cómo hacerlo.Scala/Lift: Cómo escribo pruebas unitarias que prueban la respuesta de un fragmento a diferentes parámetros
Por ejemplo, con la llamada en este fragmento div:
<div class="lift:Snippet.method?param1=foo"></div>
Estoy pasando el param1 parámetro para el fragmento. Mi fragmento sería algo como esto:
class Snippet {
def method(in:NodeSeq):NodeSeq = {
val param1 = S.attr("param1") openOr ""
param1 match {
case "foo" => //do something
case "bar" => //do something else
case _ => //do yet another thing
}
}
}
Así que dentro de mi prueba, quiero probar cómo el fragmento responde a diferentes valores de param1
class SnippetTest extends Specification {
"Snippet" should {
"do something" in {
val html = <ul>
<li class="first">
<li class="second">
<li class="third">
</ul>
//I need to set param1 here somehow
val out = Snippet.method(html)
//then check that it did what it was supposed to
out.something must be "xyz"
}
}
}
¿Cómo se configura param1?
Soy un gran momento scala y lift newb (viniendo de python + django), así que si estoy ladrando el árbol equivocado, por favor dirígeme a la correcta. Creo que podría ser el caso, he estado buscando en Google todo este día y no he encontrado ninguna pregunta remotamente similar a esta.
Gracias,
Blake
Tenga en cuenta que lo que parece como en Lift 2.4, el rasgo de WebSpec que utiliza requiere las [especificaciones] desaprobadas (https://code.google.com/p/specs/) a diferencia de [Specs2] (http://etorreborre.github.com/ specs2 /). He encontrado un rasgo de WebSpec2 en una esencia (https://gist.github.com/2235088), a través de [página "Fragmentos de prueba de unidades con un usuario conectado" en la wiki de Assembla Lift] (http: // www. assembla.com/wiki/show/liftweb/Unit_Testing_Snippets_With_A_Logged_In_User). –
No sé si esto ayuda al menos un poco: https://www.assembla.com/wiki/show/liftweb/Testing_Lift_Applications – tyoc213