【问题标题】:Unit testing (junit4) maven plugins单元测试(junit4)maven插件
【发布时间】:2013-10-25 08:38:18
【问题描述】:

我正在编写我的第一个 maven 插件并想为其添加单元测试。我读了一些关于这方面的内容,看来我需要扩展AbstractMojoTestCase。但有了这个,我只有 JUnit3 风格。 有没有办法将 Junit4 (我想要它主要是因为“@Rule”s)可能与 mockito 和/或 guice (=juckito) 结合使用?

第一步我需要注入@Parameter。我试过System.setProperty("some.prop", "someValue");,但这不起作用(参数为空)。

提前谢谢

【问题讨论】:

    标签: maven-plugin junit4


    【解决方案1】:

    我还没有尝试过,但我认为以下方法可行。 (我已经将它与另一个有类似问题的库一起使用。)

    第 1 步 - 创建 AbstractMojoTestCase 的子类

    我知道你在想什么。这个类有同样的问题——它是一个 JUnit 3.8 类。但没关系。你不会运行它。您要做的就是创建需要调用的公共方法。例如:

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

    第 2 步 - 编写您的 JUnit 4 测试

    编写您的 Junit 4 测试,在步骤 1 中为其提供类的“帮助”实例变量。让 @Before 和 @After 方法调用帮助变量的 setUp 和 tearDown 方法。

    【讨论】:

    • 谢谢,我会试试的。就我而言,我不调用“AbstractMojoTestCase”的任何方法。我需要的只是这个类所做的注入东西。 AbstractMojoTestCase 中的某些东西正在注入 @Parameter 注释字段。
    猜你喜欢
    • 2014-08-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-02
    • 1970-01-01
    • 2015-12-08
    • 2011-12-09
    相关资源
    最近更新 更多