开发maven插件时进行单元测试

      maven的好处就不说了,maven插件的开发方法,请点击这里:http://maven.apache.org/guides/plugin/guide-java-plugin-development.html

写个maven插件其实非常简单,本文重点说的是开发插件时如何进行单元。

1、在插件的项目pom.xml中加入如下依赖

 

    <dependency>
      <groupId>org.apache.maven.shared</groupId>
      <artifactId>maven-plugin-testing-harness</artifactId>
      <version>1.1</version>
      <scope>test</scope>
    </dependency> 

 

 2、在项目里建立测试类

 

package com.ldl.maven.test;

import java.io.File;

import org.apache.maven.plugin.testing.AbstractMojoTestCase;

import com.ldl.maven.GoodByeMojo;

public class GoodByeMojoTest extends AbstractMojoTestCase{
    protected void setUp() throws Exception {
        super.setUp();

    }
    public void testGoodByeMojo() throws Exception {
    	
        File testPom = new File( getBasedir(),"src/test/resources/plugin-test.xml");
        GoodByeMojo mojo = (GoodByeMojo) lookupMojo ("sayHi", testPom );
        mojo.execute();
    }
}
 

3、在src/test/resources目录下建立plugin-test.xml文件

 

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <build>
    <plugins>
      <plugin>
        <artifactId>hello-maven-plugin</artifactId>
        <configuration>
			<words>hello nandi</words>
        </configuration>
      </plugin>
    </plugins>
  </build>
</project>

 4、在项目的根目录下重新执行mvn eclipse:eclipse命令,以便下载依赖jar。

 

 5、执行GoodByeMojoTest类就可以单元测试了。

 

注意:

1、如果出现如下异常

     Component descriptor cannot be found in the component repository: org.apache.maven.plugin.Mojocom.ldl.maven:hello-maven- plugin:1:sayHi.

   请在项目的根目录下执行mvn clean test-compile。

2、不要在类方法上写中文注释,有时候会出现莫名其妙的问题,这个问题哥被折磨了很久。

 

3、附件是demo

你可能感兴趣的:(Java综合)