Java Eclipse代码辅助
我正在执行单元测试(JUnit4),我正在使用Java Eclipse代码辅助,java,eclipse,code-completion,Java,Eclipse,Code Completion,我正在执行单元测试(JUnit4),我正在使用assertEquals(),但我似乎找不到assertEquals(布尔,布尔) 请告诉我这是否是一种通用方法,即eclipse会自动根据传递的参数类型进行调整。例如,如果我选择assertEquals(double,double)并传递字符串,它还会工作吗?如果是,那是因为这是一个通用的方法,它可以对各种数据类型进行操作,并且Eclipse会自动根据传递的参数类型进行调整 我还想知道(为了理解目的)代码辅助窗口中的图形符号的含义。如果要检查布尔值
assertEquals()
,但我似乎找不到assertEquals(布尔,布尔)
请告诉我这是否是一种通用方法,即eclipse会自动根据传递的参数类型进行调整。例如,如果我选择assertEquals(double,double)
并传递字符串,它还会工作吗?如果是,那是因为这是一个通用的方法,它可以对各种数据类型进行操作,并且Eclipse会自动根据传递的参数类型进行调整
我还想知道(为了理解目的)代码辅助窗口中的图形符号的含义。如果要检查布尔值,可以使用
assertTrue(yourBoolean)代码>或assertFalse(布尔值)代码>没有(也不需要)assertEquals(布尔值,布尔值)代码>
是的,它是泛型的,如果找到,它将根据数据类型进行调整。不过,如果你想比较双打,你可以加上一个误差范围,这意味着双打之间需要有多接近才能被认为是相等的<代码>资产质量(预期双倍、实际双倍、增量)代码>如果要检查布尔值,可以使用assertTrue(yourBoolean)代码>或assertFalse(布尔值)代码>没有(也不需要)assertEquals(布尔值,布尔值)代码>
是的,它是泛型的,如果找到,它将根据数据类型进行调整。不过,如果你想比较双打,你可以加上一个误差范围,这意味着双打之间需要有多接近才能被认为是相等的<代码>资产质量(预期双倍、实际双倍、增量)代码>请参阅
不,该方法不存在,但您可以使用assertTrue(布尔值)
/assertFalse(布尔值)
干杯,请参阅
不,该方法不存在,但您可以使用assertTrue(布尔值)
/assertFalse(布尔值)
干杯,尝试使用
assertTrue(boolean == boolean);
尝试使用
assertTrue(boolean == boolean);
代码辅助功能除了向您显示可用的内容,以及在您选择方法时放置一个“模板”之外,没有任何作用。从技术上讲,您可以选择任何您想要的,然后传递不同的参数(只要具有该签名的方法存在)。重要的是JVM将如何解释您的代码
我不知道你是否已经有了这个地方
import static org.junit.Assert.*;
在代码顶部,您应该可以看到所有jUnit方法,包括assertEquals
的布尔和字符串版本
关于代码辅助符号的第二个问题,它们与可见性有关,如下所示:
- 绿色圆圈:公共
- 黄色菱形:受保护
- 红场:私人
- 蓝色三角形:包装
代码辅助功能除了向您显示可用内容,以及在您选择方法时放置“模板”之外,没有任何作用。从技术上讲,您可以选择任何您想要的,然后传递不同的参数(只要具有该签名的方法存在)。重要的是JVM将如何解释您的代码
我不知道你是否已经有了这个地方
import static org.junit.Assert.*;
在代码顶部,您应该可以看到所有jUnit方法,包括assertEquals
的布尔和字符串版本
关于代码辅助符号的第二个问题,它们与可见性有关,如下所示:
- 绿色圆圈:公共
- 黄色菱形:受保护
- 红场:私人
- 蓝色三角形:包装
这与Eclipse无关。Eclipse只是在您键入时帮助您。
因此,即使您选择
assertEquals(double,double)
并且您传递给该方法的实际参数是,比方说,Object
s,它也会工作。选择需要double
s的方法并不意味着您必须通过double
s。您可以传递任何您想要的类型,只要有一个重载的方法接受它们。这与Eclipse无关。Eclipse只是在您键入时帮助您。
因此,即使您选择assertEquals(double,double)
并且您传递给该方法的实际参数是,比方说,Object
s,它也会工作。选择需要double
s的方法并不意味着您必须通过double
s。您可以传递所需的任何类型,只要存在接受它们的重载方法。AssertTrue和assertFalse方法。在条件中思考。Eclipse实际上不必对此做任何事情,它是编译器的领域。如果使用两个boolean
作为参数,编译器会将方法签名解析为该参数,对于double
等方法也是如此。AssertTrue和assertFalse方法。在条件中思考。Eclipse实际上不必对此做任何事情,它是编译器的领域。如果使用两个boolean
作为参数,编译器会将方法签名解析为该参数,与double
相同,依此类推。@WarrenFaith“这个”问题?在我看来,他至少问了三四个问题。@WarrenFaith“那个”问题?据我所知,他至少问了三四个问题。为什么布尔==布尔,而你只是让assertTrue或assertFalse直接检查有问题的布尔值?那么预期布尔值的来源是什么,因为它显然不能与检查的来源相同?也许我只是缺少一个例子,在这个例子中,所说的布尔值发生了变化,您可以在其他地方读出您所期望的内容,而无需在特定的测试用例中设置它。如果断言失败,我无法确定它是用错误的期望检查还是实际犯了错误