我正在评估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,仍然是同样的问题。
我有同样的问题,在我的情况下,问题是由于项目设置中的“项目编译器输出”路径留空。
为了解决这个问题,我在项目根目录中创建了一个classes
目录,并将Project compiler output
设置为绝对路径(使用…
按钮进行浏览)。
修改模块的.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>
IDEA重启为我解决了这个问题。
我查看了一些这些答案,与项目设置相关,尝试了一些事情,等等,没有任何效果。 (完全披露:我不是想在这里玩Gradle;我只是在使用Maven,但我不知道这与Gradle有什么关系。)
我正在使用IDEA 14。
我发现什么工作,因为它似乎只是IntelliJ迷失了方向,是这样的:
$ rm -rf .idea project-name.iml
然后重新启动IntelliJ并执行文件 - >打开 - >导航到我的项目的根目录等 - 简而言之,只是重新创建我的项目。
IntelliJ克服了它。我可能在这个项目中搞砸了一些东西,因为我已经对包名和类名进行了大量的重构,我甚至改变了项目名称。 (这可能是我的错。)
转到项目设置 - >项目。
填写Project编译器输出:ex。 d:\回购\项目\出
转到模块 - >路径
确保:
输出路径类似于D:\ repo \ Project \ out \ production
测试输出路径,如D:\ repo \ Project \ out \ test
应该管用!
检查该测试的“运行/调试”配置“使用模块的类路径和SDK:”应该指向您的模块。
在此期间,您的模块必须具有Scala构面,并且该类必须位于“Test source Folders”中。
我有同样的问题。我在模块设置 - >模块 - >路径 - >测试输出路径中更改了路径,以测试类字节码(不包括输出路径)。现在一切正常!
您可以尝试使缓存无效并重新启动。这通常会在您添加新的依赖项/类时解决问题。
确保您的测试类包和您正在编写测试用例的类不相同。如果测试用例和类具有相同的包,编译器将查看src文件夹并忽略测试文件夹。
我有同样的问题,Intellij没有找到测试输出路径。然而,运行常规应用程序没有任何问题。
对我来说,修复程序正在从继承的项目编译路径更改为使用模块编译输出路径。
项目设置 - >模块 - >(您的模块) - >路径(选项卡)
将无线电选择按钮更改为“使用模块编译输出路径”。对我来说,自动填充的建议有效,如果自动提示不起作用,您可能需要手动输入正确的测试输出路径。请记住应用设置更改。
只需将您的测试文件的文件夹标记为Intellij IDEA中的测试文件夹即可。这对我有用。如果您有多个具有相同名称的源文件的目录,请将包添加到类源文件中(如果不存在)!