Akka 测试、特性及实践指南
1. 测试技术
1.1 测试消息流
在测试 Actor 时,除了直接调用方法测试底层行为,还需考虑更复杂的消息发送和接收场景。有两种主要方法:将测试类用作 Actor 和使用模拟探针(TestProbe)作为 Actor。
1.1.1 将测试类用作 Actor
以用户加入聊天室为例,需求是当用户加入聊天室时,应从历史记录中接收最后 10 条帖子。以下是 Java 和 Scala 的实现示例:
Java 代码:
@Test
public void testShouldSendHistoryWhenUserJoin() {
new JavaTestKit(system) {
{
// Given
Props props = Props.create(Chatroom.class);
TestActorRef<Chatroom> ref = TestActorRef.create(system, props);
Chatroom chatroom = ref.underlyingActor();
Messages.PostToChatroom msg = new Messages.PostToChatroom("test", "user");
chatroom.chatHistory.add(msg);
// When
UserRef userRef =
超级会员免费看
订阅专栏 解锁全文
91

被折叠的 条评论
为什么被折叠?



