基于对文档和邮件线程我已经看到3种方式注入Maven项目到我的魔力:单元测试Maven的魔咒 - 组件和参数为null
/**
* Project instance
*
* @parameter default-value="${project}"
* @required
* @readonly
*/
private MavenProject project;
@Component
private MavenProject project;
@Parameter( expression = "${project}")
private MavenProject project;
但不管其中哪一个,我选择,当我根据我在maven文档中找到的示例运行单元测试时,项目始终为空。
public void testMojoGoal() throws Exception {
File testPom = new File(getBasedir(),
"src/test/resources/unit/basic-test/sample-sh-project-config.xml");
ShunitResourcesMojo mojo = (ShunitResourcesMojo) lookupMojo("prepare",testPom);
assertNotNull(mojo);
mojo.execute();
}
魔力执行包含(上却失败)
Validate.notNull(project);
我怀疑这只是测试工具的行为,并且其中任何一个都可以用于真正的执行。如果是这种情况,我应该如何最好地在我的测试设置中嘲笑项目。 – Eddie 2013-03-19 23:33:23
[使用Maven插件测试工具测试默认值和Mojos表达式的可能重复:](http://stackoverflow.com/questions/9496534/test-default-values-and-expressions-of-mojos-using-maven-插件测试线束) – amaidment 2013-12-16 15:27:25