在intellij想法中运行单个特定的scalatest

时间:2016-07-11 15:02:19

标签: scala intellij-idea scalatest

更新了以下完整代码和独立问题

我目前正在使用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
    }
  }

如果我右键点击"know what is true" in {行,并选择run test,它只会运行这一个测试

,那么在intellij idea ultimate 14(无额外配置)中

我刚刚升级到2016.1终极(并尝试了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 个答案:

答案 0 :(得分:0)

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

如果您将光标放入cmd+shift+a块,它将运行该块中的所有测试。

或者,除了附加调试器之外,还有一个when执行相同的操作。

您可以将这些操作映射到设置>中所需的任何键盘映射。键映射