2013-10-25 109 views
0

我正在編寫我的第一個maven插件,並希望爲其添加單元測試。我讀了一些關於這一點,似乎我需要延長AbstractMojoTestCase。但有了這個我只有JUnit3風格。 有沒有什麼辦法可以結合mockito和/或guice(= juckito)使用Junit4(我希望它主要是因爲「@Rule」)?單元測試(junit4)maven插件

第一步我需要注入@Parameter。我試過System.setProperty("some.prop", "someValue");但這不起作用(參數爲空)。

THX提前

回答

1

我沒有試過,但我認爲下面的方法是有效的。 (我對此也有類似的問題,另一個庫使用它。)

第1步 - 創建AbstractMojoTestCase

的一個子類,我知道你在想什麼。這個類有同樣的問題 - 它是一個JUnit 3.8類。但沒關係。你不會去運行它。你所要做的就是制定你需要調用的公共方法。例如:

public org.codehaus.plexus.PlexusContainer getContainer() { 
    return super.getContainer(); 
} 

第2步 - 寫你的JUnit 4測試

寫您的JUnit 4測試給它的類的「幫手」的實例變量在步驟1中有一個@Before和@方法調用助手變量的setUp和tearDown方法後。

+0

thx我會試試看。在我的情況下,我不會調用任何「AbstractMojoTestCase」的方法。我所需要的就是這個課程所需要的注塑材料。 AbstractMojoTestCase中的某些內容正在注入@Parameter註釋字段。 – dermoritz