我正在执行单元测试( JUnit 4 )并且我正在使用assertEquals()
,但我似乎无法找到assertEquals(boolean, boolean)
。
请告诉我这是否是一种通用方法,即eclipse会自动调整为传递的参数类型。例如,如果我选择assertEquals(double, double)
并且我传递字符串它仍然有效吗?如果是,则是因为这是一个通用的方法,它可以在各种数据类型上运行,Eclipse会自动调整为传递的参数类型。
我还想知道(仅出于理解目的)图形符号在代码辅助窗口中的含义。
答案 0 :(得分:4)
除了向您显示可用内容之外,代码帮助不会执行任何操作,并且在您选择方法时放置“模板”。您可以在技术上选择您想要的任何内容,然后传递不同的参数(只要存在具有该签名的方法)。重要的是JVM将如何解释您的代码。
我不知道你是否已经拥有这个,但是
import static org.junit.Assert.*;
在代码的顶部,你应该看到所有的jUnit方法,包括assertEquals
的boolean和String版本。
关于代码辅助符号的第二个问题,它们与可见性有关,如下所示:
答案 1 :(得分:1)
如果您想检查布尔值,可以使用assertTrue(yourBoolean);
或assertFalse(yourBoolean);
没有(也不需要)assertEquals(boolean, boolean);
是的,它是通用的,如果找到,将调整为数据类型。仍然如果你想比较双打,你可以添加一个误差范围,这意味着双打需要彼此接近才能被认为是相等的。 assertEquals(expectedDouble, actualDouble, delta);
答案 2 :(得分:1)
答案 3 :(得分:0)
尝试使用
assertTrue(boolean == boolean);
答案 4 :(得分:0)
这是overloading,与Eclipse无关。 Eclipse会在您键入时帮助您。
因此,即使您选择了assertEquals(double, double)
并且传递给方法的实际参数,也就是说Object
s,它也会起作用。拿起花费double
s的方法并不意味着你被迫传递double
s。你可以传递任何你想要的类型,只要有一个接受它们的重载方法。