为啥不能在 junit 配置中添加程序参数?

Posted

技术标签:

【中文标题】为啥不能在 junit 配置中添加程序参数?【英文标题】:Why can not add program argument to the junit configuration?为什么不能在 junit 配置中添加程序参数? 【发布时间】:2019-12-31 10:32:29 【问题描述】:

我创建了一个测试并想运行我的测试。我使用最新版本的 IntelliJ 和 spring boot 2 和 spring test starter。

我应该能够将程序参数传递给应用程序。当我设置 JUnit 运行配置时,程序参数字段是灰色且禁用的。

因此,我的测试失败了。 有人知道为什么禁用此字段吗?

【问题讨论】:

我认为它仅适用于运行应用程序并在main 方法中传递参数 【参考方案1】:

唯一支持的使用参数创建配置的方案是来自先前运行的显示的参数化测试结果。

单元测试是通过测试运行器框架执行的,JUnit 根本不调用您的 main 方法,因此您不能以这种方式提供程序参数。

要通过 main 方法将参数传递给应用程序,您必须在 IDEA 中使用 Application Run/Debug 配置类型。

如果您想将参数传递给单元测试,请考虑使用 VM Options 字段,例如 -Dparam=value,在测试方法中您可以使用 String value = System.getProperty("param"); 阅读它

【讨论】:

以上是关于为啥不能在 junit 配置中添加程序参数?的主要内容,如果未能解决你的问题,请参考以下文章

为啥我不能在标签页中添加 ImageView?

MyEclipse2014中Java类右键Run as没有JUnit Test

C语言编程问题,下面的这个程序为啥在添加了输出答对、答错题目个数,就会出现主函数未定义的问题?

为啥我不能使用 MobileFirst 命令行工具添加合适的服务器配置文件?

junit单元测试注意的问题

为啥我不能引用将惯性js添加到我的项目的应用程序布局文件?