我在金融行业工作,我所指的FSM框架是一个订单管理系统。它是使用Java、Spring编写的,规则/转换是在数据库中配置的。
当前的测试是使用Spring JUnit runner编写的,使用Spring Spring runner运行,并且它们只涵盖每个转换结束时的结果状态。
例如,如果订单被修改/修改,集成流程仅测试最终结果,即订单状态现在在数据库中是否已修改。
它不会测试在修改过程中输入的数据是否真正持久化到数据库中。也没有任何负面测试。
我的问题是,如果基于FSM的框架/应用程序还负责持久化数据、向下游发布数据、向客户发送报告等,那么应该有什么样的测试用例。
发布于 2016-12-27 18:27:26
我的问题是,如果一个基于有限状态机的框架/应用程序还负责持久化数据,向下游发布数据,向客户发送报告等,那么应该有什么样的测试用例。
Java代码的单元测试不应该与数据库通信。这并不意味着他们不应该测试这种通信。您应该用测试代理替换(OR映射框架的)数据库访问类。
单元测试应该测试Java代码中各个单元的任何公共可观察行为。这包括来自数据库的错误的反应(由测试代理的配置强制)。
https://stackoverflow.com/questions/41337885
复制相似问题