trait GuiceOneAppPerTest extends BaseOneAppPerTest with GuiceFakeApplicationFactory
Trait that provides a new Application instance for each test.
This TestSuiteMixin trait's overridden withFixture method creates a new Application
before each test and ensures it is cleaned up after the test has completed. You can
access the Application from your tests as method app (which is marked implicit).
By default, this trait creates a new Application for each test using default parameter values, which
is returned by the newAppForTest method defined in this trait. If your tests need a Application with non-default
parameters, override newAppForTest to return it.
Here's an example that demonstrates some of the services provided by this trait:
package org.scalatestplus.play.examples.oneapppertest
import org.scalatest._
import org.scalatestplus.play._
import org.scalatestplus.play.guice.GuiceOneAppPerTest
import play.api.{Play, Application}
import play.api.inject.guice._
class ExampleSpec extends PlaySpec with GuiceOneAppPerTest {
// Override newAppForTest if you need an Application with other than non-default parameters.
implicit override def newAppForTest(testData: TestData): Application =
new GuiceApplicationBuilder().configure(Map("ehcacheplugin" -> "disabled")).build()
"The OneAppPerTest trait" must {
"provide an Application" in {
app.configuration.getOptional[String]("ehcacheplugin") mustBe Some("disabled")
}
"make the Application available implicitly" in {
def getConfig(key: String)(implicit app: Application) = app.configuration.getOptional[String](key)
getConfig("ehcacheplugin") mustBe Some("disabled")
}
}
}
- Self Type
- GuiceOneAppPerTest with TestSuite
- Source
- GuiceOneAppPerTest.scala
- Alphabetic
- By Inheritance
- GuiceOneAppPerTest
- GuiceFakeApplicationFactory
- FakeApplicationFactory
- BaseOneAppPerTest
- AppProvider
- TestSuiteMixin
- SuiteMixin
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Abstract Value Members
- abstract def expectedTestCount(filter: Filter): Int
- Definition Classes
- SuiteMixin
- abstract def nestedSuites: IndexedSeq[Suite]
- Definition Classes
- SuiteMixin
- abstract def rerunner: Option[String]
- Definition Classes
- SuiteMixin
- abstract def run(testName: Option[String], args: Args): Status
- Definition Classes
- SuiteMixin
- abstract def runNestedSuites(args: Args): Status
- Attributes
- protected
- Definition Classes
- SuiteMixin
- abstract def runTest(testName: String, args: Args): Status
- Attributes
- protected
- Definition Classes
- SuiteMixin
- abstract def runTests(testName: Option[String], args: Args): Status
- Attributes
- protected
- Definition Classes
- SuiteMixin
- abstract def suiteId: String
- Definition Classes
- SuiteMixin
- abstract def suiteName: String
- Definition Classes
- SuiteMixin
- abstract def tags: Map[String, Set[String]]
- Definition Classes
- SuiteMixin
- abstract def testDataFor(testName: String, theConfigMap: ConfigMap): TestData
- Definition Classes
- SuiteMixin
- abstract def testNames: Set[String]
- Definition Classes
- SuiteMixin
- abstract val styleName: String
- Definition Classes
- SuiteMixin
- Annotations
- @deprecated
- Deprecated
(Since version 3.1.0) The styleName lifecycle method has been deprecated and will be removed in a future version of ScalaTest with no replacement.
Concrete 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
- implicit final def app: Application
Implicit method that returns the
Applicationinstance for the current test.Implicit method that returns the
Applicationinstance for the current test.- Definition Classes
- BaseOneAppPerTest → AppProvider
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @HotSpotIntrinsicCandidate() @native()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def fakeApplication(): Application
- Definition Classes
- GuiceFakeApplicationFactory → FakeApplicationFactory
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @HotSpotIntrinsicCandidate() @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @HotSpotIntrinsicCandidate() @native()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def newAppForTest(testData: TestData): Application
Creates new instance of
Applicationwith parameters set to their defaults.Creates new instance of
Applicationwith parameters set to their defaults. Override this method if you need aApplicationcreated with non-default parameter values.- Definition Classes
- BaseOneAppPerTest
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @HotSpotIntrinsicCandidate() @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @HotSpotIntrinsicCandidate() @native()
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- 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()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- def withFixture(test: (GuiceOneAppPerTest.this)#NoArgTest): Outcome
Creates a new
Applicationinstance before executing each test, and ensure it is cleaned up after the test completes.Creates a new
Applicationinstance before executing each test, and ensure it is cleaned up after the test completes. You can access theApplicationfrom your tests viaapp.- test
the no-arg test function to run with a fixture
- returns
the
Outcomeof the test execution
- Definition Classes
- BaseOneAppPerTest → TestSuiteMixin
Deprecated Value Members
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable]) @Deprecated
- Deprecated
(Since version 9)