Scalatra bietet eine DSL zum Schreiben von Tests. Es gibt Unterstützung für specs2 und scalatest.
By default Ein eingebetteter Jetty wird zum Testen verwendet. Wenn Sie Ihren eigenen Server bereitstellen möchten, können Sie die Implementierung EmbeddedJettyContainer
wiederverwenden und start
, stop
und servletContextHandler
außer Kraft setzen.
start
wird aufgerufen, bevor Sie die Tests ausführen, mit denen Sie Ihren Server bei Bedarf starten können. stop
wird nach den Tests aufgerufen. servletContextHandler
ist erforderlich, um Ihre Servlets mit addServlet(..)
hinzuzufügen.
Dies ist aus der spec2 Integration:
trait BaseScalatraSpec extends SpecificationStructure with FragmentsBuilder with ScalatraTests {
override def map(fs: =>Fragments) = Step(start())^super.map(fs)^Step(stop())
}
trait ScalatraTests extends EmbeddedJettyContainer with HttpComponentsClient { }
Alternativ können Sie Ihre eigene Container Implementierung zur Verfügung stellen kann.