Я только что получил akka и scalatest, и я изучаю документ akka, чтобы изучить его. Но когда мне интересно проверить демонстрационный код, как сказал официальный веб-сайт, кажется, что он не работает должным образом. Тестовый код выглядит следующим образом.
package com.example
import akka.actor.ActorSystem
import akka.actor.testkit.typed.scaladsl.ScalaTestWithActorTestKit
import akka.testkit.TestProbe
import org.scalatest.WordSpecLike
class IotTest extends ScalaTestWithActorTestKit with WordSpecLike {
"Iot actor system" must {
"reply with empty reading if no temperature is known" in {
implicit val system: ActorSystem = ActorSystem("Iot")
val probe = TestProbe()
val deviceActor = system.actorOf(Device.props("group", "device"))
deviceActor.tell(Device.ReadTemperature(requestId = 42), probe.ref)
val response = probe.expectMsgType[Device.RespondTemperature]
response.requestId should ===(42L)
response.value should ===(None)
}
}
}
, когда я запускаю sbt в командной строке и запускаю testOnly IotTest
Команда, ответ выглядит следующим образом:
[info] Done compiling.
[info] Run completed in 9 milliseconds.
[info] Total number of tests run: 0
[info] Suites: completed 0, aborted 0
[info] Tests: succeeded 0, failed 0, canceled 0, ignored 0, pending 0
[info] No tests were executed.
[info] No tests to run for Test / testOnly
[success] Total time: 3 s, completed 2019-11-1 10:33:41
sbt:akka-quickstart-scala>
структура каталогов выглядит следующим образом.
│ build.sbt
│ list.txt
│ sbt
│ sbt.bat
├─.idea
├─project
├─sbt-dist
├─src
│ ├─main
│ │ └─scala
│ │ └─com
│ │ └─example
│ │ ActorFailureHandling.scala
│ │ ActorHierarchyExperiments.scala
│ │ ActorLifecycle.scala
│ │ AkkaQuickstart.scala
│ │ Device.scala
│ │ DeviceGroup.scala
│ │ DeviceGroupQuery.scala
│ │ DeviceManager.scala
│ │ IotApp.scala
│ │ IotSupervisor.scala
│ │
│ └─test
│ └─scala
│ └─com
│ └─example
│ AkkaQuickstartSpec.scala
│ IotTest.scala
│ ScalaTestIntegrationExampleSpec.scala
│
└─target
в соответствии с ответом, ни один тестовый пример не был выполнен. я был сбит с толку, и я буду признателен, если вы сможете сделать мне одолжение.