J'essaie d'écrire un test Specs2 qui testera la sortie d'un snippet en réponse à différents paramètres qui seraient normalement passés dans un modèle, mais je n'ai pas réussi à trouver comment le faire.
Par exemple, avec le texte de l'extrait dans cette division :
<div class="lift:Snippet.method?param1=foo"></div>
Je passe le paramètre param1 au snippet. Mon snippet ressemblerait à quelque chose comme ceci :
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
}
}
}
Ainsi, dans mon test, je veux tester comment le snippet répond à différentes valeurs du paramètre 1.
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"
}
}
}
Comment définir le paramètre 1 ?
Je suis un novice en matière de scala et d'ascenseur (je viens de python+django), donc si je me trompe d'arbre, veuillez me diriger vers le bon. Je pense que c'est peut-être le cas, j'ai cherché sur Google toute la journée et je n'ai trouvé aucune question similaire à celle-ci.
Merci,
Blake