Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // build.sbt:
- libraryDependencies ++= Seq(
- "org.scalatest" %% "scalatest" % "3.0.5" % Test,
- "org.mockito" %% "mockito-scala" % "1.0.9" % Test
- )
- // ClassA.scala
- class ClassA(dependentClass: DependentClass) {
- private lazy val task = Task(0)
- private lazy val user = User(None, "", "", None)
- def getCurrentTaskDuration: Long = {
- dependentClass.getDurationMsec(task, user)
- }
- def sayHello: String = "hello"
- }
- // DependentClass.scala:
- class DependentClass {
- def getDurationMsec(task: Task, user: User): Long = ???
- }
- // Spec:
- import org.scalatest.FlatSpec
- import org.scalatest._
- import org.scalatest.mockito.MockitoSugar
- import org.mockito.Mockito._
- import org.mockito.ArgumentMatchers._
- import my.package._
- class MySpec extends FlatSpec with Matchers with MockitoSugar {
- behavior of "ClassA"
- val dependentClass: DependentClass = mock[DependentClass]
- val classA = new ClassA(dependentClass)
- when(dependentClass.getDurationMsec(any[Task], any[User])).thenReturn(1000)
- "A classA" should "return 1000 for a given task" in {
- val result = classA.getCurrentTaskDuration
- result shouldBe 1000
- }
- it should "say hello" in {
- val result = classA.sayHello
- result shouldBe "hello"
- }
- }
- // Output:
- [info] MySpec:
- [info] A classA
- [info] - should return 1000 for a given task
- [info] - should say hello
- [info] ScalaTest
- [info] Run completed in 2 seconds, 214 milliseconds.
- [info] Total number of tests run: 2
- [info] Suites: completed 1, aborted 0
- [info] Tests: succeeded 2, failed 0, canceled 0, ignored 0, pending 0
- [info] All tests passed.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement