在intellij中运行测试时将属性传递给maven配置文件

时间:2014-04-01 15:45:57

标签: java maven intellij-idea

我有一个带有个人资料的maven pom。在其中一个配置文件中,我指的是像这样的系统变量

<profile>
    <id>kasper</id>
    <properties>
        <user>${username}</user>
    </properties>
</profile>

当我使用-Dusername = kasper调用maven命令行时,一切似乎都很好。

问题是,我在IntelliJ中导入了这个项目。 IntelliJ 13允许通过Maven工具窗口选择要运行的配置文件。

当我在运行测试时选择要使用的特定配置文件时,我似乎无法找到如何正确替换此属性,即真正告诉IntelliJ它必须选择此用户名或运行我的maven测试,我尝试了一切,似乎没有选择。

有人有想法吗?

卡斯帕

3 个答案:

答案 0 :(得分:9)

在IntelliJ 14中,maven配置文件不会传递给测试(默认情况下)。

您可以通过设置 - &gt;中的选项激活此机制。 Maven - &gt;运行测试,它允许您将systemPropertyVariables传递给单元测试 - 这应该涵盖您的情况。

答案 1 :(得分:4)

查看 - &gt;工具Windows - &gt; Maven项目 然后右键点击所需的阶段,例如包它将是上下文菜单中的第二个项目 *创建[project_name]包... *

在某些标签页上,您可以覆盖VM属性,添加配置文件等。

答案 2 :(得分:0)

好的,我明白了。

转到JUnit或TestNG上的Intellij配置(无论您使用哪一个)。在VMoptions下...您可以将自定义系统属性变量从Maven添加到调试器旁边的-ea选项,就像terminal命令一样。

-ea -Dtest.environment=QA