Nic*_*ner 90 java testing junit compiler-errors package
我有一些测试工作正常.然后,我将它移动到另一个包,现在我遇到了错误.这是代码:
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"));
}
Run Code Online (Sandbox Code Playgroud)
错误消息是这样的:
方法assertEquals(Object,Object)对于JGraphtUtilitiesTest类型是不明确的
我怎样才能解决这个问题?为什么在将类移到另一个包时会出现此问题?
Pas*_*ent 196
assertEquals(Object,Object)方法对于类型是不明确的......
这个错误是什么意思是,你传递double和和Double成拥有两个不同的签名的方法:assertEquals(Object, Object)与assertEquals(double, double)这两方面都可以被调用,由于自动装箱.
为了避免歧义,请确保你要么assertEquals(Object, Object)(通过传递两个双打)或assertEquals(double, double)(通过传递两个双打).
所以,在你的情况下,你应该使用:
assertEquals(Double.valueOf(70), eccen.get("alpha"));
Run Code Online (Sandbox Code Playgroud)
要么:
assertEquals(70.0d, eccen.get("alpha").doubleValue());
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
81902 次 |
| 最近记录: |