基於對文檔和郵件線程我已經看到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