2012-07-26 70 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,這種方法是否存在?