使用testkit对akka进行gradle测试

时间:2018-08-13 15:29:55

标签: scala gradle akka akka-testkit

我有一个Scala + Akka + Gradle应用程序,并进行了以下测试:

class UserCRUDSpec() extends TestKit(ActorSystem("UserCRUDSpec"))
  with ImplicitSender
  with WordSpecLike
  with Matchers
  with Mockito
  with DomainSuit {

  val userDao: UserDao = mock[UserDao]
  val actor: ActorRef = system.actorOf(UserCRUD.props(self, userDao))

  "The UserCRUD actor " must {

    "search actor by id if actorId specified and exists" in {
       ...
    }

  }

}

和gradle build.gradle依赖项:

    apply plugin: 'scala'

    dependencies {
        compile 'org.scala-lang:scala-compiler:2.12.6'
        compile('com.typesafe.akka:akka-cluster_2.12:2.5.14') {
            exclude group: 'org.scala-lang'
        }
        testCompile ('com.typesafe.akka:akka-testkit_2.12:2.5.14') {
            exclude group: 'org.scala-lang'
        }
        testCompile ('org.scalatest:scalatest_2.12:3.0.5') {
            exclude group: 'org.scala-lang'
        }
        testCompile ('org.specs2:specs2-core_2.12:4.3.3') {
            exclude group: 'org.scala-lang'
        }
        testCompile ('org.specs2:specs2-mock_2.12:4.3.3') {
            exclude group: 'org.scala-lang'
        }
    }
}

当我运行./gradle test时,它表示未找到测试。有什么方法可以添加TestKit测试以使其对gradle test任务可见?

1 个答案:

答案 0 :(得分:0)

最后,我只是切换到了scalatest并指定了actor系统:

class UserCRUDSpec() extends WordSpec with TestKitBase ... {
  ...
  implicit lazy val system: ActorSystem = ActorSystem("UserCRUDSpec")
  ...
}