-3

我正在使用 eclipse 并收到错误 assertArrayEquals(expectedPos, sent.getPosTags().toArray()); 没有定义?我已经进口了

导入静态 org.junit.Assert.*;

不知道如何解决?

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

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

** assertEquals(expectedRanges, gotRanges);

4

2 回答 2

1

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

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

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

对于您提到的第二段代码

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

您正在调用方法 assertArrayEquals(double[], double[], double)。看看javadoc,那个方法存在吗?

于 2012-07-26T11:44:28.480 回答
0

你的消息不清楚。

您似乎没有为assertEquals方法使用正确的类型。

于 2012-07-26T10:10:57.160 回答