【问题标题】:Running a unit test after changing it does not run the updated test in IntelliJ更改后运行单元测试不会在 IntelliJ 中运行更新后的测试
【发布时间】:2019-07-22 06:05:02
【问题描述】:

这非常奇怪,只发生在我项目中的一个模块上。

如果我更改了测试的名称,然后右键单击并运行测试,它会显示 No tests found matching Method: newName。它实际上是在尝试运行旧测试,而不是新测试,尽管事实上我没有重新运行相同的运行配置 - 我正在右键单击并运行新编辑的测试。

这可能是什么原因造成的?

【问题讨论】:

  • 在运行测试之前构建你的项目
  • IntelliJ 运行已编译的代码,而不是您在代码中最新调整的代码。当然,添加断言不会造成太大问题,但如果您不小心重命名它,您的 IDE 可能仍会找到前一个并使用它。
  • @Stultuske 确实是这样,但对于其他模块,它会自动获取更改后的名称,而无需重新构建 - 为什么会这样?我怎样才能使这个模块也不需要重新构建以运行更新的测试?

标签: java maven unit-testing intellij-idea junit


【解决方案1】:

在运行配置中,添加构建项目,以便它获取最新的更改

【讨论】:

  • 当然,如果这是所有运行配置都会发生的问题 - 包括其他模块?但是只针对这一个模块?
  • 请检查您的项目结构 > 模块。同样在您的运行配置中确保您使用模块的类路径
  • 我可以确认它已经在运行配置中构建了项目,所以这不是解决方法。现在将检查您的最新建议。然而,作为一个侧面说明,这些都需要编辑运行配置 - 但是当没有运行配置时呢?当我直接在方法上运行测试并且IDEA自己生成运行配置时?必须有一些通用修复,以便这些运行而无需随后编辑生成的运行配置?
  • 是的,测试有默认配置。 “运行/调试”配置对话框的左侧有配置树。其中一个节点称为默认值/模板。如果展开它,您可以编辑任何类型的运行配置类型的默认值,包括“JUnit 测试”。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-04-03
  • 2018-01-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多