我有一些测试工作正常。然后,我将它移到另一个包中,现在出现错误。这是代码:
import static org.junit.Assert.*;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;
import org.jgrapht.Graphs;
import org.jgrapht.WeightedGraph;
import org.jgrapht.graph.DefaultWeightedEdge;
import org.jgrapht.graph.SimpleWeightedGraph;
import org.junit.*;
@Test
public void testEccentricity() {
WeightedGraph<String, DefaultWeightedEdge> g = generateSimpleCaseGraph();
Map<String, Double> eccen = JGraphtUtilities.eccentricities(g);
assertEquals(70, eccen.get("alpha"));
assertEquals(80, eccen.get("l"));
assertEquals(130, eccen.get("l-0"));
assertEquals(100, eccen.get("l-1"));
assertEquals(90, eccen.get("r"));
assertEquals(120, eccen.get("r-0"));
assertEquals(130, eccen.get("r-1"));
}
错误信息是这样的:
方法 assertEquals(Object, Object) 对于 JGraphtUtilitiesTest 类型是不明确的
我怎样才能解决这个问题?当我将课程移至其他包时,为什么会出现此问题?
原文由 Nick Heiner 发布,翻译遵循 CC BY-SA 4.0 许可协议
方法 assertEquals(Object, Object) 对于类型不明确…
What this error means is that you’re passing a
double
and andDouble
into a method that has two different signatures:assertEquals(Object, Object)
andassertEquals(double, double)
由于自动装箱,两者都可以调用。为避免歧义,请确保您调用
assertEquals(Object, Object)
(通过两个双打)或assertEquals(double, double)
(通过两个双打)。所以,在你的情况下,你应该使用:
或者: