2013-10-25 74 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