比較兩個不同版本的assertEquals()
分別看一下JUnit和TestNG對assertEquals()的定義:
JUnit:
ee
忽略各參數的類型不考慮,重新看 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)!