我想從命令行使用Ant目標在我們的項目中運行JUnit測試。到目前爲止,我們使用Eclipse中的嵌入式JUnit手動從Eclipse中手動運行測試,沒有任何問題。 終於找出了我現在得到的類路徑設置失敗的原因。使用JUnit 4.11中的Parameterized Runner的所有類的測試。 運行測試目標(ant測試)時,在Testclass名稱後面的唯一輸出是「FAILED」,即使使用選項-v也是如此。 生成testreports顯示以下異常:從Ant中運行參數化的Junit測試引發IllegalArgumentException
java.lang.IllegalArgumentException: wrong number of arguments
at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
這是什麼意思? 版本是: - JDK 1.6 - 螞蟻1.9.3 - JUnit的4.11
我的build.xml長超過400行,所以我不知道這是否有道理張貼在這裏。讓我知道你是否需要build.xml的一部分。
更新13.05.2015:以下是我們的JUnit測試類失敗的示例部分。 @Parameters部分僅包含一個在這種情況下非常無用的條目,但從螞蟻運行時,該類仍然失敗。
@Parameters
public static Iterable<String[]> testData() {
return Arrays
.asList(new String[][] { { "a-rules-filename" } });
}
@Parameter
public String RULES_FILE_NAME;
我們的測試類註釋是這樣的:
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
@RunWith(Parameterized.class)
public class OurRulesTest {
您能否提供您測試的代碼('@ Parameters'方法和構造函數)。 –
用一些代碼更新了原始問題。 – phivo
好的,它看起來好像我必須添加一個構造函數到我的測試類中,以便Parameterized Runner能夠從ant工作。 – phivo