object ServiceTest
Support for writing functional tests for one service. The service is running in a server and in the test you can interact with it using its service client, i.e. calls to the service API.
The server is ran standalone without persistence, pubsub or cluster features enabled. Cassandra is also disabled by
default. If your service require either of these features you can enable them in the Setup.
There are two different styles that can be used. It is most convenient to use ServiceTest.withServer(), since it automatically starts and stops the server before and after the given block. When your test have several test methods, and especially when using persistence, it is faster to only ServiceTest.startServer() the server once in a before all tests hook, and then stop it in an after all test hook.
- Source
- ServiceTest.scala
- Alphabetic
- By Inheritance
- ServiceTest
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Type Members
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- val defaultSetup: Setup
The default
Setupconfiguration, which has persistence enabled. - final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- def startServer[T <: LagomApplication](setup: Setup)(applicationConstructor: (LagomApplicationContext) => T): TestServer[T]
Start the test server with the given
setup.Start the test server with the given
setup. You must stop the server with thestopmethod of the returnedTestServerwhen the test is finished.When your test have several test methods, and especially when using persistence, it is faster to only start the server once in a static method annotated with
@BeforeClassand stop it in a method annotated with@AfterClass. Otherwise withServer() is more convenient.You can get the service client from the returned
TestServer. - final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- def withServer[T <: LagomApplication, R](setup: Setup)(applicationConstructor: (LagomApplicationContext) => T)(block: (TestServer[T]) => R): R
Start the test server with the given
setupand run theblock(lambda).Start the test server with the given
setupand run theblock(lambda). When theblockreturns or throws the test server will automatically be stopped.This method should be used when the server can be started and stopped for each test method. When your test have several test methods, and especially when using persistence, it is faster to only start the server once with #startServer.
You can get the service client from the
TestServerthat is passed as parameter to theblock.