警告:不推荐使用Assert类型的方法assertEquals

Bra*_*rks 149 java junit

由于该方法Assert.assertEquals已弃用,我们现在应该使用哪种方法?

以下代码:

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

Assert.assertEquals(arg1, arg2);
Run Code Online (Sandbox Code Playgroud)

给出以下警告:

此行有多个标记

  • 不推荐使用Assert类型的方法assertEquals(String,String)
  • Assert类型已弃用

Ste*_*ner 288

你用的是junit.framework.Assert代替org.junit.Assert.

  • 谢谢....我后来发现了这个......后来我意识到它值得包括在这里作为一个问题/答案,因为它可能会出现在其他人身上,现在当他们谷歌时它们会找到它. (15认同)
  • 对于那些也发现这个有用的人,请不要评论谢谢 - 只需提出问题和答案.http://meta.stackexchange.com/questions/126180/is-it-acceptable-to-write-a-thank-you-in-a-comment这不是什么大问题,但我们不希望这个答案得到混乱. (4认同)
  • [这个答案](http://stackoverflow.com/a/291045/411282)上面链接的问题提供了一些额外的背景. (3认同)

小智 42

此方法也会遇到弃用警告:

org.junit.Assert.assertEquals(float expected,float actual) //deprecated
Run Code Online (Sandbox Code Playgroud)

这是因为目前junit更喜欢第三个参数,而不仅仅是两个浮点变量输入.

第三个参数是delta:

public static void assertEquals(double expected,double actual,double delta) //replacement
Run Code Online (Sandbox Code Playgroud)

这主要用于处理不准确的浮点计算

有关更多信息,请参阅此问题:对于double值,assertEquals的epsilon参数的含义