我正在评估IntelliJ(13.0.2 133.696)并且无法在IDE中运行jUnit测试。
我的项目是一个多模块gradle项目并使用scala。
测试类位于src / test / scala / xxx / xxxxx / xxx / xxxx / xxxxx下,每当我尝试从IDE运行时,我都会遇到同样的错误:
Class not found: "xxx.xxxxx.xxx.xxxx.xxxxx.AccountRepositoryTest"
测试类没什么特别的,简单的jUnit测试:
@RunWith(classOf[SpringJUnit4ClassRunner])
@ContextConfiguration(classes = Array(classOf[DataConfig], classOf[SettingsConfig]))
class AccountRepositoryTest extends AssertionsForJUnit {
我发现了一个相关问题Cannot run Junit tests from IDEA 13.0 IDE for imported gradle projects,但提供的修补程序(升级到13.0.2)不起作用。
我甚至尝试升级到最新的EAP,仍然是同样的问题。
答案 0 :(得分:23)
我有同样的问题,在我的情况下,问题是由于"项目编译器输出"在项目设置中将路径留空。
要解决此问题,我在项目根目录中创建了一个classes
目录,并将Project compiler output
设置为绝对路径(使用…
按钮进行浏览)。
答案 1 :(得分:18)
我查看了一些这些答案,与“项目设置”相关,尝试了一些事情,等等,没有任何效果。 (完全披露:我不想在这里玩Gradle;我只是使用Maven,但我不知道这与Gradle有什么关系。)
我正在使用IDEA 14。
我发现了什么工作,因为它似乎只是IntelliJ迷失了方向,是这样的:
$ rm -rf .idea project-name.iml
然后重新启动IntelliJ并做了文件 - >打开 - >导航到我的项目的根目录等 - 简而言之,只是重新创建了我的项目。
IntelliJ克服了它。我可能在这个项目中搞砸了一些东西,因为我已经对包名和类名进行了大量的重构,我甚至改变了项目名称。 (这可能是我的错。)
答案 2 :(得分:12)
转到项目设置 - >项目
填写Project编译器输出: 恩。 d:\回购\项目\出
转到模块 - >路径
确保:
输出路径类似于D:\ repo \ Project \ out \ production
测试输出路径,如D:\ repo \ Project \ out \ test
应该工作!
答案 3 :(得分:3)
我遇到了同样的问题。我在模块设置中更改了路径 - >模块 - >路径 - >测试我的目录的测试类字节码(排除输出路径)的输出路径。现在一切正常!
答案 4 :(得分:3)
检查该测试的运行/调试配置 “使用类路径和模块的SDK:”应该指向你的模块。
同时你的模块必须有一个Scala方面,那个类必须在里面 “测试源文件夹”。
答案 5 :(得分:2)
确保您的测试类包和您正在编写测试用例的类不相同。如果测试用例和类具有相同的包,编译器将查看src文件夹并忽略测试文件夹。
答案 6 :(得分:2)
您可以尝试使缓存无效并重新启动。这通常会在您添加新的依赖项/类时解决问题。
答案 7 :(得分:1)
按以下顺序尝试:
答案 8 :(得分:1)
只需在Intellij IDEA中将测试文件的文件夹标记为测试文件夹即可。这对我有用。 如果您有多个具有相同名称的源文件的目录,请将包添加到类源文件中(如果不存在!)
答案 9 :(得分:1)
我遇到了同样的问题,Intellij没有找到测试输出路径。然而,运行常规应用程序没有任何问题。
对我来说,修复程序正在从继承的项目编译路径更改为使用模块编译输出路径。
项目设置 - >模块 - > (您的模块) - >路径(标签)
将无线电选择按钮更改为“使用模块编译输出路径”。对我来说,自动填充的建议有效,如果自动提示不起作用,您可能需要手动输入正确的测试输出路径。请记住应用设置更改。
答案 10 :(得分:0)
修改模块.iml文件的标记中的内容,如下所示。它对我有用。
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
<excludeFolder url="file://$MODULE_DIR$/target" />
</content>
答案 11 :(得分:0)
IDEA重新启动为我解决了这个问题。
答案 12 :(得分:0)
简单地,“构建>重建项目”对我有用。
答案 13 :(得分:0)
有相同的问题,请通过在目录路径中重新创建项目来解决该问题,该目录路径在完整路径中的任何地方都没有空格,冒号,句号或其他特殊字符。显然,IntelliJ对项目路径可能很挑剔。
答案 14 :(得分:0)
在构建,清理和重建,关闭和打开项目(使用intellij)之后,我的问题仍然存在,项目编译器输出正确;最后,我只是从项目目录中删除了该文件夹。请注意,我的问题仅在新添加的Junit上调用了新添加的方法。其余的Junits都工作正常。
答案 15 :(得分:0)
对我来说,这是一个测试失败,并且错误是错误的。
所以:
答案 16 :(得分:0)
从Gradle项目X开始,同时删除两个项目:
再次运行测试帮助我解决了这个问题。
答案 17 :(得分:0)
tl;博士: 缺少文件扩展名可能会导致此错误。
详情:
就我而言,测试类缺少 .java
扩展。例如。一种
文件名为 UserTest
而不是 UserTest.java
mvn
(在 pom.xml 中启用了 surfire 插件)或专用的 maven 启动器配置,这不是问题,但导致
使用 IntelliJs 测试或覆盖菜单/按钮启动时的初始错误消息。