使用Maven插件測試線束(2.0-alpha1)時出現問題:當我想測試我的Mojo時,參數的默認值和表達式不適用。 我有以下參數:使用Maven插件測試線束測試默認值和Mojos表達式:
/**
* <p>The output file to write the settings to.</p>
*
* @parameter default-value="${project.build.directory}/myProperties.properties" expression="${properties.file}"
*/
private String file;
當我運行我的單元測試此屬性始終爲空。我試圖注入一個MavenProjectStub,它成功返回${project.build.directory}
,但這不適用於我的Mojo參數。
在測試過程中,有什麼方法可以在我的Mojos中啓用默認值和表達式,如${project.build.directory}
?
Gianluca,爲了支持MavenProjectStub中的表達式,我非常想知道更改了什麼,因爲我遇到了同樣的情況。我寧願理解我使用的修改過的代碼,然後才能抓住整個項目並開始依賴它...請詳細說明需要進行哪些更改?我掃描了一些課程,但無法分辨您的更改是在哪裏進行的。 – 2012-08-06 15:27:00
@Meghan,你可以看看GitHub上這個特定的提交:https:// github。com/grighetto/maven-plugin-testing-harness/commit/c711fb0c8e9b03fe886a5db5b888478f1b4dc70a 您可能已經想通了,但相關更改已應用於AbstractMojoTestCase類(檢查從295到311的行)。在這個修復之前,問題是插件沒有從Mojo中提取參數,然後應該將其傳遞給PluginParameterExpressionEvaluator。我希望這能夠澄清一點。 – 2012-09-06 01:50:20