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


160

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

如下代码:

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

Assert.assertEquals(arg1, arg2);

给出以下警告:

这行有多个标记

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

Answers:


316

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


16
谢谢...。我意识到在我发布此内容之后。...我仍然认为值得在此处将其作为问题/答案,因为它可能会弹出给其他人,现在他们在Google上搜索时会发现它。
布拉德·帕克斯

3
上面链接的问题的此答案提供了一些其他上下文。
Joshua Goldberg 2015年

4
对于也觉得这很有用的将来的人,请不要评论谢谢-只是对问题和答案进行投票。meta.stackexchange.com/questions/126180/…没什么大不了的,但是我们不希望这个答案变得混乱。
尤特纳格'16

44

此方法还遇到过时警告:

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

这是因为当前junit更喜欢第三个参数,而不是仅输入两个float变量。

第三个参数是增量:

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

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

有关更多信息,请参考以下问题:assertEquals的epsilon参数对双精度值的含义


0

当我使用Junit4时,导入junit.framework.Assert; 导入junit.framework.TestCase; 警告信息是:不推荐使用断言的类型

当这样输入时:import org.junit.Assert; 导入org.junit.Test; 警告消失了

2个JUnit声明类之间差异的可能重复

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.