我正在编写一个Maven插件并且想要编写一些JUnit测试。我遵循Maven Plugin Testing中的描述。不幸的是,在我可以配置或调用任何东西之前,我在设置测试期间不断收到异常。如何使用JUnit4测试Maven插件
这是我的JUnit测试代码:
public class ResetMojoTest {
private static final String POM_FILE_NAME = "/path/to/pom.xml";
@Rule
public MojoRule rule = new MojoRule();
@Test
public void testSomething()
throws Exception
{
File pom = new File(POM_FILE_NAME);
Assert.assertNotNull(pom);
Assert.assertTrue(pom.exists());
ResetMojo resetMojo = (ResetMojo) rule.lookupMojo("touch", pom);
Assert.assertNotNull(resetMojo);
resetMojo.execute();
}
}
这是异常的堆栈跟踪:
java.io.IOException: Stream closed
at java.io.BufferedInputStream.getInIfOpen(BufferedInputStream.java:134)
at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
at java.io.BufferedInputStream.read(BufferedInputStream.java:237)
at org.apache.commons.io.input.BOMInputStream.getBOM(BOMInputStream.java:175)
at org.apache.commons.io.input.BOMInputStream.getBOMCharsetName(BOMInputStream.java:201)
at org.apache.commons.io.input.XmlStreamReader.doRawStream(XmlStreamReader.java:412)
at org.apache.commons.io.input.XmlStreamReader.<init>(XmlStreamReader.java:206)
at org.apache.commons.io.input.XmlStreamReader.<init>(XmlStreamReader.java:171)
at org.apache.commons.io.input.XmlStreamReader.<init>(XmlStreamReader.java:140)
at org.apache.maven.plugin.testing.AbstractMojoTestCase.setUp(AbstractMojoTestCase.java:119)
at org.apache.maven.plugin.testing.MojoRule$2.evaluate(MojoRule.java:299)
at org.junit.rules.RunRules.evaluate(RunRules.java:20)
如何得到这个工作任何想法?
你解决了这个问题吗? –