Unit testing 使用Akka和RabbitMQ测试系统的正确方法是什么?
我正在使用Akka和RabbitMQ,这将成为一个大规模的应用程序 现在,对于验收和集成测试,我正在模拟通常从被测试模块发送或接收消息的参与者。实际上,只需使用完全相同的RabbitMQ队列并注入或接收数据,然后对其进行验证 这听起来适合于确保rabbitMQ中的一切正常运行吗 在另一方面,我开始使用日志队列来测试其他东西。我只是将各种日志消息发送到它,然后读取队列以了解发生了什么。例如,如果我想测试某个东西是否正在做某事,我只需粘贴一个函数Unit testing 使用Akka和RabbitMQ测试系统的正确方法是什么?,unit-testing,scala,akka,acceptance-testing,scalatest,Unit Testing,Scala,Akka,Acceptance Testing,Scalatest,我正在使用Akka和RabbitMQ,这将成为一个大规模的应用程序 现在,对于验收和集成测试,我正在模拟通常从被测试模块发送或接收消息的参与者。实际上,只需使用完全相同的RabbitMQ队列并注入或接收数据,然后对其进行验证 这听起来适合于确保rabbitMQ中的一切正常运行吗 在另一方面,我开始使用日志队列来测试其他东西。我只是将各种日志消息发送到它,然后读取队列以了解发生了什么。例如,如果我想测试某个东西是否正在做某事,我只需粘贴一个函数LogThis(“Entered:methodname
LogThis(“Entered:methodname”)
,然后读取放置消息的队列,看看它是否发生了
这听起来是个好主意吗?我的想法是,即使在单元测试中,我也在这样做。其他一切都是模拟出来的,但我正在使用该方法验证某些难以测试的区域的正确行为。只是读取日志数据流,看看它是否在做我想要的事情
我有了这个想法,因为当我可以监听调试级别的日志文件队列并获得相同的信息时(只要我确保我的日志记录只准确记录),似乎比使用Akka测试套件遇到各种麻烦要容易得多。对于rabbitMq,我的建议是使用真正的RabbiMQ:这可以通过使用Vagrant with chef来配置RabbitMq和Vagrant maven插件来完成,在集成测试之前启动Box,并在集成测试的后期停止它: 流浪者Maven插件: 流浪汉网站: RabbitMQ厨师长食谱: 总结而言,您必须:
希望这对您有所帮助谢谢您的推荐。=)