Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Gradle、IntelliJ和ScalaTest插件:突然崩溃_Java_Scala_Intellij Idea_Gradle_Scalatest - Fatal编程技术网

Java Gradle、IntelliJ和ScalaTest插件:突然崩溃

Java Gradle、IntelliJ和ScalaTest插件:突然崩溃,java,scala,intellij-idea,gradle,scalatest,Java,Scala,Intellij Idea,Gradle,Scalatest,这是非常令人费解的。我有一个使用Gradle构建的多模块多语言JVM项目。我有几个java模块和几个scala模块。scala模块使用ScalaTest作为测试框架。我设置Gradle以使用运行测试。我在IntelliJ中用了大约一个月的时间(使用Gradle idea插件)让整个过程如痴如醉。现在,ScalaTest规范突然不再从IDE运行,出现以下错误: Unable to load a Suite class. This could be due to an error in your r

这是非常令人费解的。我有一个使用Gradle构建的多模块多语言JVM项目。我有几个java模块和几个scala模块。scala模块使用ScalaTest作为测试框架。我设置Gradle以使用运行测试。我在IntelliJ中用了大约一个月的时间(使用Gradle idea插件)让整个过程如痴如醉。现在,ScalaTest规范突然不再从IDE运行,出现以下错误:

Unable to load a Suite class. This could be due to an error in your runpath. Missing class: com.mypackage.MySpec
有人知道发生了什么事吗?我不确定自从我第一次设置构建文件以来发生了什么变化,这可能会把事情搞砸。这真令人沮丧。想法

编辑:显然我的junit测试也不会运行。看起来编译的类不在Intellij使用的类路径上。这是我尝试运行JUnit测试用例时得到的结果:

Class not found: "com.mypackage.MyUnitTests"

由于这是一个多语言项目,IntelliJ很可能无法分辨哪些是源文件夹。检查
项目结构下的
模块
(每个模块)并确保
测试
目录正确标记。

找到了答案。之后我处理IntelliJ配置文件时,我不小心弄乱了我的项目输出文件夹(在
updateBuildOutputFolderForGradle
函数中),因此IntelliJ无法在运行时找到类。

OP使用的是Gradle,因此应在
build.Gradle
中设置源代码和测试目录,不在IntelliJ的
项目结构
屏幕中,因为一旦重新导入Gradle项目,这些设置将被
build.Gradle
中的任何内容覆盖。