Scala / Lift: Как мне написать модульные тесты, которые проверяют реакцию фрагмента на разные параметры

Я пытаюсь написать тест Specs2, который будет проверять вывод фрагмента в ответ на различные параметры, которые обычно передаются из шаблон, но я не мог понять, как это сделать.

Например, с выноской фрагмента в этом div:

<div class="lift:Snippet.method?param1=foo"></div>

я передаю параметр param1 фрагменту. Мой фрагмент будет выглядеть примерно так:

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

Итак, в рамках моего теста я хочу проверить, как фрагмент реагирует на различные значения 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"
    }
  }
}

Как мне установить param1?

Я большой поклонник scala и поднимаю newb ( исходящий из python + django), поэтому, если я лаю не на то дерево, пожалуйста, направьте меня к правильному. Я думаю, что это может быть так, я гуглил об этом весь день и не нашел ни одного вопроса, отдаленно похожего на этот.

Спасибо,

Блейк

13
задан Blake 1 February 2012 в 02:10
поделиться