Lagom框架中的单元测试范例是什么?

时间:2018-01-15 09:31:50

标签: java cassandra lagom

我是拉格姆世界的新手。我有一个使用单元测试的方案。我在Lagom / Java框架和Cassandra数据库下工作。 我有两种不同的服务:

  • 设备服务
  • 用户服务

我的需求是一种智能访问方案。用户必须注册其设备才能获得访问权限。 此机制由设备服务中的WBS connect()管理。所以这个WBS处理:

  • 如果设备不可用:它将其存储在数据库中(出于安全原因)并且不允许访问

  • 如果设备已注册:它会记录访问日期并授权访问

我的实现准备就绪,它运行正常。但我的问题是如何在单元测试方面处理这个问题。 特别是对于自动化访问场景,因为测试开始时,我没有在我的DB /持久性中注册设备。

  • 我是否需要调用WBS Add(),将设备添加到我的数据库/持久性中,然后调用WBS connect()来模拟访问权限?
  • 是否有解决方案来运行WBS connect()而不依赖于数据库?
  • 如果我的WBS依赖于其他服务(用户服务),如何管理单元测试?我是否必须在设备服务的单元测试中重新实现用户服务?

1 个答案:

答案 0 :(得分:1)

最好的我可以告诉,Lagom团队doesn't believe in traditional unit testing提供服务;但是,有一些单元式的方法来测试Lagom服务。传统上,这是如何在“单位”级别上规定测试的:

您可能知道,Lagom规定了Spring式API / Impl分叉。因此,域对象往往属于API测试,而其他对象属于Impl测试。从DDD的角度来看,这应该是有意义的。

没有太多想象力,您可能会看到扩展单个服务测试可以跨越多个服务测试或集成测试。