xlsunit面向数据库应用的单元测试框架
xlsunit 辅助junit,用于辅助基于 Spring、SpringBoot 企业信息系统单元测试,这种企业信息系统都会有大量的数据库操作,使用 xlsunit 来初始化测试前的数据库,以及使用 xlsunit 来比较业务调用后的数据库数据,能减少单元测试工作量,增强单元测试可维护性。
xlsunit 用 excel 来模拟数据库表数据,适合那种一次业务操作,多个表数据变化的应用系统。
XLSParser workflowParser = null; // @Autowrired WorkflowService workflowService; // @MockBean private ThirdPatyUserService userService; @Autowired protected SQLManager sqlManager; @Before public void init() { super.init(); //XLSUnit BeetlSql DBAccess dbAccess = new BeetlSqlDBAccess(sqlManager); // Excel XLSFileLoader loader = new XLSFileLoader("root"); // workflowParser = new XLSParser(loader, "user.xlsx", dbAccess, new RowHolderFacotoy.RowBeetlSQLHolderFactory()); } public void testUser1() { //执行某个测试场景的初始化工作,初始化user表 VariableTable vars = new VariableTable(); userParser.init(vars); //开始测试,从excel中获取userId和password userParser.prepare("场景1", vars); Integer id = (Integer) vars.find("id"); String newPassword = vars.findString("test.password"); //调用业务代码,修改用户密码 userSerivce2.modifyUserInfo(id, newPassword); //比较数据库里的数据跟场景1的数据是否一致 userParser.test("场景1", vars); }
可以将测试数据写在 excel 里,或者通过数据库客户端工具粘贴到 excel 里完成数据的输入。
可以用拥有任意多个 excel 文件,每个文件概念上都可以包含一个初始化数据的多种测试场景,excel 文件有三部分组成
第一个工作表,这个工作表用来介绍当前 excel 文件所测试的业务,以及包含一个目录,快捷指向每个场景测试
第二个表示 数据库初始化数据,可以包含多个表的初始化数据,也可以在初始化数据定义前,定义一些变量,这些变量可以用在初始化数据,JUnit 代码里,以及随后的场景测试里
第三个表以后的每个工作表都是场景测试表,对应了单元测试完毕后,期望的数据库的样子。通常用红色背景标注在表的列名上,这样表示只让 xlsunit 比较关心的列。同时,也能提醒阅读者,编写期望值
xlsunit 基于 Beetl ,完成 Excel 里计算表达式实现。
评论
ObjectLounge面向对象数据库框架
ObjectLounge是一个开源的框架,用来简化开发商业应用,提供面向对象的Domain模型包括:并发、事务、验证和持久层API。
ObjectLounge面向对象数据库框架
0
GreatSQL面向金融级应用的数据库
GreatSQL是源于PerconaServer的分支版本,除了PerconaServer已有的稳定可靠、高效、管理更方便等优势外,特别是进一步提升了MGR(MySQLGroupReplication
GreatSQL面向金融级应用的数据库
0
OpenMLDB面向机器学习应用的数据库
OpenMLDB是一个面向机器学习应用提供正确、高效数据供给的开源数据库。除了超过10倍的机器学习数据开发效率的提升,OpenMLDB也提供了统一的计算与存储引擎减少开发运维的复杂性与总体成本。系统特
OpenMLDB面向机器学习应用的数据库
0
pgTAPPostgreSQL 的单元测试框架
pgTAP是PostgreSQL的单元测试框架,用PL/pgSQL和PL/SQL开发。它包含了一个全面的TAP-emitting判断函数的集合,以及整合其它TAP-emitting测试框架的能力。它也
pgTAPPostgreSQL 的单元测试框架
0