本例源码下载:https://files.cnblogs.com/files/xiandedanteng/dbUnitTest20200211.zip

在做IDataSet比较时,特殊情况下会有期盼的IDataset和预想的IDataSet因顺序不一样而导致assert失败的情况发生。

一般的处理是用双重循环进行比较,也可以采用下面的方式:

准备的XLS:

期待的XLS:

可以看到3和8,10和12的位置是不匹配的,但数据是一致的。

排序具体的方法如下:

            IDataSet dstExpected = new XlsDataSet(new FileInputStream(TEST_PATH +"expected01.xls"));
FlatXmlDataSet.write(dstExpected,new FileOutputStream("D:\\logs\\dstExpected20200211.xml")); IDataSet dstActual = new XlsDataSet(new FileInputStream(TEST_PATH +"prepare01.xls"));
FlatXmlDataSet.write(dstActual,new FileOutputStream("D:\\logs\\dstActual20200211.xml")); SortedTable actualTable=new SortedTable(dstActual.getTable("REDELIVERY_REQUEST"),new String[]{"col1","col2"});
actualTable.setUseComparable(true); SortedTable expectedTable=new SortedTable(dstExpected.getTable("REDELIVERY_REQUEST"),new String[]{"col1","col2"});
expectedTable.setUseComparable(true); Assertion.assertEquals(expectedTable, expectedTable);

参考资料的提示是按一列排序,我在本地试了不成功,按两列排序后才得以通过,这是本例和资料有差异的关键所在。

如果XLS文件中存在多于两列的情况,按以上方法排序也能成功。

参考资料:

https://blog.csdn.net/zhangyz_6719369/article/details/38053141

--2020-02-11--

最新文章

  1. MyBatis Like查询处理%_符号
  2. PHP框架中的日志系统
  3. 概率论 --- Uva 11181 Probability|Given
  4. 常用分类列表wp_list_categories()
  5. Java实体书写规范
  6. Swift—属性观察者-备
  7. STL跨DLL使用
  8. --@angularjs--理解Angular中的$apply()以及$digest()
  9. ionic开发遇到的坑及总结
  10. Python--简单接口测试实例(一)
  11. 从svn迁移至Git并保留所有 commit 记录
  12. 逆向工程-真码保存在系统文件破解QQ游戏对对碰助手
  13. python测试断言
  14. luogu P4491 [HAOI2018]染色
  15. 网易云音乐mp3外链、真实地址下载方法
  16. 牛客训练四:Applese 涂颜色(费马小定理+快速幂)
  17. Java 内存溢出思维导图
  18. pku1204 Word Puzzles AC自动机 二维字符串矩阵8个方向找模式串的起点坐标以及方向 挺好的!
  19. 〖QT编程〗在Qt编程中使用/显示中文编码
  20. tornado WebSocket详解

热门文章

  1. 3、Java 对象和类
  2. 06 大数据CentOS6.5mini安装与网络配置
  3. CSS学习第三天
  4. 精讲RestTemplate第7篇-自定义请求失败异常处理
  5. 轻音少女K-on闹钟,时钟,日历,整点报时
  6. 《Java从入门到失业》第二章:Java环境(二):JDK、JRE、JVM
  7. 非确定性有穷状态决策自动机练习题Vol.1 A.扭动的回文串
  8. fatal error: glib.h: No such file or directory
  9. Flutter FlatButton 按钮基本各种用法
  10. 初学Linux (Linux_note)