我在金融行业工作,我所指的FSM框架是订单管理系统。 它是使用Java,Spring编写的,规则/转换是在数据库中配置的。
当前测试是使用JUnit编写的,使用Spring JUnit运行程序运行,它们仅涵盖每次转换结束时的结果状态。
例如如果订单被修改/修改,整合流程只测试最终结果,即订单状态现在是否已在数据库中修改。
它不测试在修改过程中输入的数据实际上是否在数据库中持久保存。根本没有负面测试。
我的问题是,如果框架还有责任持久保存数据,向下游发布数据,向客户发送报告等,基于FSM的框架/应用程序应该具有哪种测试用例。
答案 0 :(得分:0)
我的问题是,如果框架还有责任持久保存数据,向下游发布数据,向客户发送报告等,基于FSM的框架/应用程序应该具有哪种测试用例。
您的Java代码的Unittests不应与数据库通信。这并不意味着他们不应该测试这种沟通。您应该使用测试代理替换数据库访问类(OR映射框架)。
您的单元测试应该测试Java代码中各个单元的任何公共可观察行为。这包括从数据库中出来的错误的反应(通过配置测试代理强制)。