java asserttrue用法 - 警告:不建議使用Assert類型的方法assertEquals





junit python (4)


您正在使用junit.framework.Assert而不是org.junit.Assert

由於方法Assert.assertEquals已被棄用,我們現在應該使用哪種方法?

以下代碼:

String arg1 = "test";
String arg2 = "me";

Assert.assertEquals(arg1, arg2);

給出以下警告:

這條線上有多個標記

  • 不建議使用類型Assert的方法assertEquals(String,String)
  • 類型Assert已棄用



當我使用Junit4時,導入junit.framework.Assert; import junit.framework.TestCase; 警告信息是:Assert的類型已棄用

當像這樣導入時:import org.junit.Assert; import org.junit.Test; 警告消失了

可能重複2個JUnit Assert類之間差異




此方法也會遇到不推薦的警告:

org.junit.Assert.assertEquals(float expected,float actual) //deprecated

這是因為目前junit更喜歡第三個參數而不是僅僅兩個浮點變量輸入。

第三個參數是delta:

public static void assertEquals(double expected,double actual,double delta) //replacement

這主要用於處理不准確的浮點計算

有關更多信息,請參閱此問題: double值的assertEquals的epsilon參數的含義




您可以使用該方法

assertEquals(double expected, double actual, double delta)

這將考慮到與浮點無關的捨入誤差(例如,請參閱此文章 )。 你可以寫

assertEquals(70, eccen.get("alpha"), 0.0001);

這意味著只要兩個值的差值小於0.0001,就認為它們是相等的。 這有兩個好處:

  • 按照它們應該的比較浮點值
  • 無需投射,因為三個參數assert只適用於雙打,而不適用於通用對象




java junit