У меня есть Route
, определенный с помощью akka-http, который использует актера внутри для отправки сообщений. Мой маршрут выглядит следующим образом:
path("entity") {
post {
entity(as[Enrtity]) {
entity =>
val result: Future[Message] = mainActor.ask {
ref: akka.actor.typed.ActorRef[Message] =>
Message(
entity = entity,
replyRef = ref
)
}
complete("OK")
}
}
}
Моя тестовая спецификация c:
class APITest
extends ScalaTestWithActorTestKit(ManualTime.config)
with ScalatestRouteTest
with AnyWordSpecLike {
val manualTime: ManualTime = ManualTime()
// my tests here ...
}
Компиляция теста не удалась, поскольку существуют конфликтующие системы акторов:
class APITest inherits conflicting members:
[error] implicit def system: akka.actor.typed.ActorSystem[Nothing] (defined in class ActorTestKitBase) and
[error] implicit val system: akka.actor.ActorSystem (defined in trait RouteTest)
Переопределение системы акторов также не помогает, поскольку унаследованные системы акторов бывают как типизированными, так и нетипизированными. Как я могу решить эту проблему легко?
Обновление:
Это связано с конфликтом унаследованных членов с различными типами, но мы могли бы решить то, что я хочу достичь в этом контексте по-другому.