在IntelliJ IDEA中运行单个特定的ScalaTest

3

以下是完整代码和问题的独立描述

我目前正在使用IntelliJ 14 Ultimate,如果有以下代码(scalatest 2.2.6,WordSpec,scala 2.11.8):

  "this code" when {

    "doing this" should {

      "know what is true" in {
        true shouldBe true
      }

      "know what is false" in {
        false shouldBe false
    }
  }

在intellij idea ultimate 14(无需额外配置),如果我右键单击{代码}中的"知道什么是真实的"并选择运行测试,它只会运行这一个测试。
我刚升级到2016.1 ultimate(并尝试了2016.2 RC),这个功能不再起作用。如果我只点击一个测试,它会运行文件中的所有测试。
如何在2016.x中解决这个问题?
编辑以下内容:
如果我没有使用标签,它允许我运行选定的单个测试,但如果我使用标签,即使我选择要运行的特定测试,它仍然会运行文件中的所有测试-在Intellij 14中可以正常工作。
object TestTag extends Tag("com.me.test.tag")

class TestingSpec extends WordSpec with Matchers {

  "these tests allow single test to run" when {

    "doing this" should {

      "know what is true" in {
        true shouldBe true
      }

      "know what is false" in {
        false shouldBe false
      }
    }
  }

  "these tests DO NOT allow single test to run" when {

    "doing this" should {

      "know what is true" taggedAs TestTag in {
        true shouldBe true
      }

      "know what is false" taggedAs TestTag in {
        false shouldBe false
      }
    }
  }
}
1个回答

1

有一个名为运行上下文配置的命令,您可以通过按下cmd+shift+a并键入“运行上下文配置”来找到它。这将运行光标下的测试。

如果将光标放在when块中,则会运行该块中的所有测试。

或者,还有一个名为调试上下文配置的命令,除了附加了调试器外,它与运行上下文配置相同。

您可以在“设置>键盘映射”中将这些操作映射到任何键盘映射中。


以上编辑中所述的 cmd+shift+a 无法正常工作。 - IUnknown
“cmd+shift+a”只是通过名称运行命令的一种方式,你遇到的问题是这个功能无法实现,还是其中运行的命令无法正常工作? - mirosval
cmd+shift+a+"Run Contect Configuration"^+shift+F10 以及右键单击运行测试都是同样的操作。如果我正在使用标签,它们将运行所有测试;如果我没有使用标签,则只运行所选的一个测试。在 IntelliJ Idea 14 中,使用标签运行所选的测试代码可以正常工作。 - IUnknown
那么这很奇怪,我也在使用scalatest和标签,而且一切都对我有效。我假设你在调用命令前将光标放在测试主体花括号内,是吗? - mirosval

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接