对比两个不同版本的assertequals()
分别看一下JUnit和TestNG对assertEquals()的定义:
本系统经过多次升级改造,系统内核经过多次优化组合,已经具备相对比较方便快捷的个性化定制的特性,用户部署完毕以后,按照自己的运营要求,可实现快速定制会费管理,支持在线缴费和退费功能财富中心,管理会员的诚信度数据单客户多用户登录管理全部信息支持审批和排名不同的会员级别有不同的信息发布权限企业站单独生成,企业自主决定更新企业站信息留言、询价、报价统一管理,分系统查看分类信息参数化管理,支持多样分类信息,
0
JUnit:
static void assertEquals(Java.lang.Object expected, java.lang.Object actual)
static void assertEquals(java.lang.String message, java.lang.Object expected, java.lang.Object actual)
TestNG:
static void assertEquals(java.lang.Object actual, java.lang.Object expected)
static void assertEquals(java.lang.Object actual, java.lang.Object expected, java.lang.String message)
忽略各参数的类型不予考虑,重新看 actual, expected, message 这三个参数的前后顺序:
JUnit中的顺序是:(message), expected, actual。
TestNG中的顺序是:actual, expected, (message)。
这其中的细微区别是,actual(实际值)与expected(期望值)的前后顺序,当message(信息文本)存在时它与另外两个参数的相对位置。在JUnit中,message(如果它存在的话)处于优先位置,其次是expected,再次是actual;而在TestNG中,恰恰是完全相反,actual处于优先位置,其次是expected,再次是message。
相比较而言,我认为TestNG对assertEquals()的定义更符合人的思维逻辑,也就是所谓的“用户友好性”另强一些。当然这只是个人观点,见仁见智嘛。
当初我第一次看到JUnit中assertEquals()的定义时,就在想,为什么不是actual在前而expected在后?今天第一次看到TestNG对assertEquals()的定义,忽然有种“英雄所见略同”的感觉。当然现在提这一出有些“马后炮”的味道。
就凭这一点,我为TestNG叫好!
以上就是对比两个不同版本的assertequals()的内容,更多相关内容请关注PHP中文网(www.php.cn)!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号