Eclipse代码辅助

时间:2013-08-06 12:06:56

标签: java eclipse code-completion

我正在执行单元测试( JUnit 4 )并且我正在使用assertEquals(),但我似乎无法找到assertEquals(boolean, boolean)

请告诉我这是否是一种通用方法,即eclipse会自动调整为传递的参数类型。例如,如果我选择assertEquals(double, double)并且我传递字符串它仍然有效吗?如果是,则是因为这是一个通用的方法,它可以在各种数据类型上运行,Eclipse会自动调整为传递的参数类型。

我还想知道(仅出于理解目的)图形符号在代码辅助窗口中的含义。

5 个答案:

答案 0 :(得分:4)

除了向您显示可用内容之外,代码帮助不会执行任何操作,并且在您选择方法时放置“模板”。您可以在技术上选择您想要的任何内容,然后传递不同的参数(只要存在具有该签名的方法)。重要的是JVM将如何解释您的代码。

我不知道你是否已经拥有这个,但是

import static org.junit.Assert.*;

在代码的顶部,你应该看到所有的jUnit方法,包括assertEquals的boolean和String版本。

关于代码辅助符号的第二个问题,它们与可见性有关,如下所示:

  • 绿色圆圈:公开
  • 黄钻:受保护
  • 红场私人
  • Blue Triangle:

答案 1 :(得分:1)

如果您想检查布尔值,可以使用assertTrue(yourBoolean);assertFalse(yourBoolean);没有(也不需要)assertEquals(boolean, boolean);

是的,它是通用的,如果找到,将调整为数据类型。仍然如果你想比较双打,你可以添加一个误差范围,这意味着双打需要彼此接近才能被认为是相等的。 assertEquals(expectedDouble, actualDouble, delta);

答案 2 :(得分:1)

请参阅JavaDoc for Assert

不,该方法不存在,但您可以使用assertTrue( boolean ) / assertFalse( boolean )代替。

干杯,

答案 3 :(得分:0)

尝试使用

assertTrue(boolean == boolean);

答案 4 :(得分:0)

这是overloading,与Eclipse无关。 Eclipse会在您键入时帮助您。 因此,即使您选择了assertEquals(double, double)并且传递给方法的实际参数,也就是说Object s,它也会起作用。拿起花费double s的方法并不意味着你被迫传递double s。你可以传递任何你想要的类型,只要有一个接受它们的重载方法。