2012-07-26 134 views
-3

我正在使用eclipse并且出现错误assertArrayEquals(expectedPos,sent.getPosTags()。toArray());没有定义?我已经导入如何在Java中启用断言

import static org.junit.Assert。*;

idont知道如何解决它?

ArrayList<Range> gotRanges = new ArrayList<Range>(); 
    Iterables.addAll(gotRanges, sent.getNpChunkRanges()); 

    assertEquals(expectedLength, sent.getLength()); 
  • **
  • assertArrayEquals(expectedPos,sent.getPosTags()指定者());
    1. assertArrayEquals(expectedToks,sent.getTokens()。toArray());

** 的assertEquals(expectedRanges,gotRanges);

+1

我试图改进你的代码的格式,但我无法理解它。 “**”是什么意思? – 2012-07-26 10:09:38

+0

什么是错误? – 2012-07-26 10:10:41

+0

编辑时在eclipse上得到一个错误 – 2012-07-26 10:11:34

回答

0

您的留言不清楚。

看来你没有使用assertEquals方法的正确类型。

+0

assertArrayEquals错误(expectedJane,gotJane,0.001); double [] = expectedjane,gotjane&double = 0.0001。 – 2012-07-26 12:16:08

1

不清楚你的哪个assertArrayEquals有问题,但至少要传入一个,String []作为第一个参数,Object []作为第二个参数。如果您查看Assert类http://junit.sourceforge.net/javadoc/org/junit/Assert.html的JavaDoc,则不存在采用这两个参数的方法。

检查的类型要传递的变量(我们不能这样做,因为你没有包含在你的代码中所有的定义)

此外如果一个对象,一个数组字符串数组,这是一个线索它们不相等:-)

对于代码的第二位你提到

double[] expectedJane = { 1.0, 1.0, 1.0 }; 
double[] gotJane = StringFeatures.featureSet.featurizeToDouble("jane");  
assertArrayEquals(expectedJane, gotJane, 0.001); 

要调用方法assertArrayEquals(双[],双[],双)。看看javadoc,这种方法是否存在?