对比两个不同版本的assertEquals()
2006-04-25 17:12
288 查看
分别看一下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叫好!
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()
- 对比两个不同版本的assertEquals()
- python--对比两个Excel不同
- 网络-HTTP不同版本之间的对比
- 两个对象值相同(x.equals(y) == true),但却可有不同的hash code,这句话对不对?
- 解决一个项目里面加载两个同名不同版本的DLL的问题
- (面试题)两个对象值相同 (x.equals(y) == true) ,但却可有不同的 hash code ,这 句话对不对?
- exchange 2003 两个不同版本之间的比较
- java对比两个txt内容,如果有不同就提示。
- 两个对象值相同(x.equals(y) == true),但却可有不同的hash code,这句话对不对
- 如何修改两个PHP版本,php-v和phpinfo两个不同的版本
- JUnit中assertEquals和assertSame方法的不同
- 如何同时激活两个不同版本的MyEclipse
- linux下安装两个不同版本的交叉编译环境arm-linux-gcc4.4.3、arm-linux-gcc3.4.1,切换调用的解决
- JUnit assertEquals 两个对象或集合类型
- 同时用两个不同版本的Tomcat跑两个项目方法,及不用Eclipse把项目部署到Tomcat的方法
- 两个不同版本但重复的Unix/Linux服务器名的记录导致SCOM管理工具出错
- 《越狱》中的项目管理——两个版本的对比
- 用同一个工程创建两个不同版本的应用
- 转:JUnit中assertEquals和assertSame方法的不同