2013-07-15 38 views
7

我在Eclipse中運行Groovy JUnit測試用例(參見下面的測試代碼和環境詳細信息)時遇到問題。Eclipse中的參數化Groovy JUnit測試用例

症狀在Package Explorer中的類

  • 右鍵單擊並做運行方式 - > JUnit測試案例只是帶來了一個對話框,聲稱「沒有發現JUnit測試」。該項目
  • 右鍵單擊並做運行方式 - > JUnit測試案例運行所有的測試用例除了參數化的Groovy之一。

事情我已經試過

  1. 確保 「正常」 的Groovy的JUnit測試的具體運行情況。 這工作。
  2. 確保運行參數化的Java測試用例。 這工作。
  3. 爲此測試案例手動創建JUnit運行配置。 這工作。

所以

所以,我有一個解決方法不方便(3)。但是這不是可擴展的,因爲當我運行項目中的所有測試用例時,這個測試用例仍然不會被包含。

任何想法如何讓Eclipse/Groovy插件/ JUnit自動識別我的測試用例?


測試用例代碼

import org.junit.Test 
import org.junit.runner.RunWith 
import org.junit.runners.Parameterized 
import org.junit.runners.Parameterized.Parameters 

@RunWith(Parameterized) 
public class TestParams { 
    final int a 

    public TestParams(int a) { this.a = a } 

    @Parameters 
    public static Collection<Object[]> data() { 
     def cases = new Object[2][1] 
     cases[0][0] = 3 
     cases[1][0] = 4 
     Arrays.asList(cases) 
    } 

    @Test public void test() { println "a = $a" } 
} 

環境

  • 的Eclipse朱諾服務版本2(OSX)
  • Groovy的Eclipse的2.8.0
  • JUnit的4.10.0

+0

嗯......我在開普勒用Groovy-Eclipse 2.8.0和2.1.5編譯器運行。這對我有用。你的錯誤日誌中有錯誤嗎?內容輔助/導航是否在班級內部工作? –

+0

@AndrewEisenberg:內容幫助似乎工作正常,並沒有錯誤報告(正如我所說,這運行良好,明確的運行配置)。我還沒有去探索Kepler(IDE在我的OSX上立即崩潰)。不過,我對Groovy-Eclipse插件的一般經驗(迄今爲止)是**非常**氣質和越野車,所以也許我在這裏只是不幸運! –

回答

1

此代碼的工作對我的JUNO日食,JUnit的4.10和Groovy 2.0.6。我從你的代碼開始,但是由於一些註釋是紅色的,所以不得不與進口混淆。我還必須將.class添加到參數化。

import org.junit.Test 
import org.junit.runner.RunWith 
import org.junit.runners.Parameterized 
import org.junit.runners.Parameterized.Parameters 
@RunWith(Parameterized.class) public class TestParams { 
    final int a 

    public TestParams(int a) { this.a = a } 

    @Parameters 
    public static Collection<Object[]> data() { 
     def cases = new Object[2][1] 
     cases[0][0] = 3 
     cases[1][0] = 4 
     Arrays.asList(cases) 
    } 

    @Test public void test() { println "a = $a" } 
} 
+0

不幸的是,雖然我還沒有嘗試回滾到Groovy-Eclipse 2.0.6(我將在明天嘗試......),所以如果將'Parameterized.class'更改回'Parameterized ',它不再適合你? –

+0

oop,如果我刪除.class,它仍然有效。對於困惑感到抱歉。 –