【问题标题】:IntelliJ IDEA does not let me run ScalaTests from an SBT project any moreIntelliJ IDEA 不再允许我从 SBT 项目运行 ScalaTests
【发布时间】:2015-11-01 12:11:17
【问题描述】:

我在 IntelliJ IDEA 中有一个奇怪的问题:我有一个具有 ScalaTests 的 SBT 项目。我将我的设置组织成这样的块:

lazy val common = Seq(
  organization := "com.example.foo",
  version := "0.0.1-SNAPSHOT",
  scalaVersion := "2.10.5",
  fork in Test := true,
  testListeners += new JUnitXmlTestsListener(
    new File(target.value, "test-reports").getAbsolutePath
  )
)

lazy val testWithScalatest = Seq(
  libraryDependencies += "org.scalatest" %% "scalatest" % "2.2.4" % "test"
)

lazy val bar = project.in(file("some/where/foo/bar")).settings(common).settings(testWithScalatest).settings(name:="bar")

当我运行sbt test 时,测试运行良好,没有任何错误。但是,当我在 IDEA 的项目资源管理器中右键单击测试类时,没有“运行测试”选项。我可以右键单击测试类所在的包并选择“Run ScalaTests in...”,但随后我得到如下信息:

Error running ScalaTests in 'bar': Cannot start process, the working directory C:\Program Files (x86)\JetBrains\IntelliJ IDEA Community Edition 14.1.4\jre\jre\bin does not exist

当我尝试编辑运行配置时,“运行/调试配置”窗口中的设置面板为空。

我也无法添加新配置。

这里有什么问题?

编辑:我在使用 Specs2 时遇到了同样的问题。

【问题讨论】:

  • 你试过:rm -r target 和 sbt clean,然后在 IntelliJ 中重建项目吗?
  • 我试过git clean -fdx,它和rm -r target一样,也做了sbt clean,但问题仍然存在。
  • 最奇怪的是:它抱怨的目录DOES存在!

标签: scala intellij-idea scalatest


【解决方案1】:

我有点解决了。我重新安装了 IntelliJ IDEA 并删除了我的 .ideaIC14 文件夹。然后我重新运行git clean -fdxsbt clean。似乎一些内部缓存变得不稳定......

下次我试试Invalidate Caches / Restart是否够用再重新安装所有东西

【讨论】:

    【解决方案2】:

    我认为,您在构建项目时没有在配置窗口中指定工作目录。

    将它指定到你的项目根目录,它可能会解决问题:)

    【讨论】:

    • 我当时真的没有检查这个,但是这个问题也发生在我之前运行的 ScalaTests 上。他们工作了,不知何故突然停止了。但是我也浏览了 Git 分支并在命令行上做了一些相关的工作,所以我认为这弄乱了索引。
    猜你喜欢
    • 2017-01-27
    • 2015-10-04
    • 1970-01-01
    • 2011-12-03
    • 1970-01-01
    • 2014-12-11
    • 1970-01-01
    • 1970-01-01
    • 2014-09-16
    相关资源
    最近更新 更多