Тестирование фрагмента в Lift

Я делаю простой фрагмент, который должен передать Box [String] с пользовательским агентом запросов вспомогательному классу, который передает обратно классы css, которые должны быть добавлены к элементу html. Я делаю это, так как кажется сложным заставить Lift предоставлять html-ответ с условными комментариями, как в html5boilerplate. Это то, что у меня есть сейчас, и оно работает:

class LiftBoilerplate {

   def render = "html [class+]" #> getClassForUserAgent(S.request)

   private def getClassForUserAgent(request:Box[Req]) = request match {
       case Full(r) => LiftBoilerplateHelper.getHtmlClass(r.userAgent)
       case _ => ""
   }
}

Моя проблема в том, что я хотел бы написать для этого модульный тест, например:

object LiftBoilerplateSpecs extends Specification {

  val session = new LiftSession("", randomString(20), Empty)

  "LiftBoilerplate" should {
    "add 'no-js' to the class of an html tag element" in {

      val snippet = new LiftBoilerplate
      val result = snippet.render(test)

      result must ==/(test)
    }
  }
}

Этот тест не выполняется, поскольку S.request равен Пусто . Что мне делать, чтобы предоставить фрагмент с имитацией запроса с агентом пользователя в нем?

До сих пор я смотрел http://www.assembla.com/spaces/liftweb/wiki/Unit_Testing_Snippets_With_A_Logged_In_User
и
http://www.assembla.com/spaces/liftweb/wiki/Mocking_HTTP_Requests
, но я не понимаю, как достичь своей цели.

5
задан Emil H 1 February 2012 в 20:55
поделиться