Tôi khá mới đối với Scala vì vậy hãy nhẹ nhàng.Thử nghiệm đơn vị diễn viên Akka với Scala
Trong ứng dụng tôi hiện đang xây dựng, tôi đang sử dụng diễn viên Akka và tôi muốn viết một số bài kiểm tra đơn vị. Tôi đã xem qua điều này official documentation for writing unit tests for Akka actors
nhưng tôi không thể hiểu chính xác cách hoạt động của nó. Cụ thể,
val actorRef = TestActorRef(new MyActor)
// hypothetical message stimulating a '42' answer
val future = actorRef ? Say42
val Success(result: Int) = future.value.get
result must be(42)
Khi tôi thử điều đó, tôi nhận được not found: value Success
, điều này không đáng ngạc nhiên.
sau đó tôi tìm thấy this example of how to test Scala actors
val actorRef = TestActorRef[TickTock]
implicit val timeout = Timeout(5 seconds)
val future = (actorRef ? new Tick("msg")).mapTo[String]
val result = Await.result(future, timeout.duration)
Assert.assertEquals("processed the tick message", result)
, mà phải thừa nhận là có thể là cũ, nhưng nó rất dễ dàng để hiểu và gần gũi hơn với những gì tôi thường sử dụng khi tôi muốn sử dụng tương lai, và quan trọng nhất là làm việc. Nó đòi hỏi tôi phải tuyên bố một vài sự liên quan như ActorSystem, thời gian chờ và như vậy, mà dường như không phải là trường hợp với cách chính thức ...
Nếu có thể, tôi muốn sử dụng phương pháp được đề xuất bởi tài liệu chính thức, vì vậy tôi sẽ đánh giá cao nếu ai đó có thể giúp tôi hiểu cách thức hoạt động (đặc biệt là bit Thành công) và cách sử dụng nó.
làm bạn phải nhập khẩu như 'scala.util._' hoặc' scala.util.Success '? – 4lex1v