【问题标题】:Akka FSM: How to write test case to verify state change?Akka FSM:如何编写测试用例来验证状态变化?
【发布时间】:2019-09-23 13:14:55
【问题描述】:

我正在使用 Akka FSM。我已经使用AbstractFSMWithStash 实现了状态更改。但我不确定如何编写单元测试用例来验证参与者是否更改了其状态。 Akka 是否提供任何方法来访问参与者的状态以进行单元测试?

我在https://doc.akka.io/docs/akka/current/fsm.html 的文档页面上找不到太多内容。

【问题讨论】:

    标签: java akka akka-fsm


    【解决方案1】:

    使用 scala,我们可以使用 TestFSMRef 创建我们打算测试的 FSM actor,然后使用 stateName。示例:

    lazy val saleSystemProxy = TestFSMRef(new SaleSystemProxy, "sales-system-fsm")
    
    "Sale System Proxy" should "start in WAITING state" in {
        saleSystemProxy.stateName shouldBe  ActorState.WAITING
    }
    
    it should "stay WAITING if any event passed before configuration" in {
        saleSystemProxy ! contract
        saleSystemProxy.stateName shouldBe ActorState.WAITING
    }
    

    【讨论】:

      猜你喜欢
      • 2021-08-24
      • 1970-01-01
      • 2021-03-06
      • 1970-01-01
      • 2011-09-08
      • 2021-10-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多