对比两个不同版本的assertEquals()
程序员文章站
2022-04-01 11:19:23
...
对比两个不同版本的assertEquals()
分别看一下JUnit和TestNG对assertEquals()的定义:
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)!
推荐阅读
-
让你的.NET程序兼容不同版本的Dll文件
-
如何分辨apple watch普通版/sport版/edition版有哪些不同 三版本详细区别对比评测
-
C#自动判断Excel版本使用不同的连接字符串
-
合并使用labelimg标注的同一张图片的两个不同xml标签
-
使用合并计算快速对比出两个Excel表的差异不用公式不用VBA
-
Excel如何对比两列姓名找出两列相同和不同的姓名有哪些方法
-
PHP5.5和之前的版本empty函数的不同之处
-
如何在新工程中添加两个不同版本的的echarts库
-
LabVIEW2011能打开LabVIEW2016吗?LabVIEW不同版本之间的兼容性问题解答
-
python进行两个表格对比的方法