我如何在特定阶段使Maven-test-harness测试插件

时间:2019-06-07 08:11:21

标签: maven

我正在开发一个maven插件,该插件需要在构建的特定阶段运行。我已经使用原型创建了插件项目,因此可以使用Maven测试工具来进行单元测试。

但是我的插件需要在编译步骤后的某个时间运行,并且看来测试只是在执行插件。在运行插件之前,是否有办法告诉测试运行到某个阶段?

public class MyMojoTest
{
@Rule
    public MojoRule rule = new MojoRule()
{
    @Override
    protected void before() throws Throwable 
    {
    }

    @Override
    protected void after()
    {
    }
};


@Test
public void testSomething()
        throws Exception
{
    File pom = new File( "target/test-classes/project-to-test/" );
    assertNotNull( pom );
    assertTrue( pom.exists() );

    LicenceScanner myMojo = ( LicenceScanner ) rule.lookupConfiguredMojo( pom, "scan" );
    assertNotNull( myMojo );
    myMojo.execute();

    File outputDirectory = ( File ) rule.getVariableValueFromObject( myMojo, "outputDirectory" );
    assertNotNull( outputDirectory );
    assertTrue( outputDirectory.exists() );

    File touch = new File( outputDirectory, "output" );
    assertTrue( touch.exists() );

}

}

0 个答案:

没有答案