未find类:IntelliJ中的空testing套件

我只是在我的大学开始了计算机科学课程,而且我在IntelliJ上遇到了一些问题。 当我尝试运行unit testing时,我收到消息

Process finished with exit code 1 Class not found: "edu.macalester.comp124.hw0.AreaTest"Empty test suite. 

我还在屏幕左侧看到一条标题为“未findtesting”的消息。 我的testing代码在这里:

 package edu.macalester.comp124.hw0; import org.junit.Test; import static org.junit.Assert.*; public class AreaTest { @Test public void testSquare() { assertEquals(Area.getSquareArea(3.0), 9.0, 0.001); } @Test public void testCircle() { assertEquals(Area.getCircleArea(3.0), 28.2743, 0.001); } } 

我的项目代码在这里:

 package edu.macalester.comp124.hw0; import java.lang.Math; public class Area { /** * Calculates the area of a square. * @param sideLength The length of the side of a square * @return The area */ public static double getSquareArea(double sideLength) { // Has been replaced by correct formula return sideLength * sideLength; } /** * Calculates the area of a circle. * @param radius The radius of the circle * @return The area */ public static double getCircleArea(double radius) { // Replaced by correct value return radius * 2 * Math.PI; } } 

我怎样才能让我的testing工作? 提前致谢。 我正在使用最新版本的IntelliJ IDEA CE。

有相同的消息。 我不得不删除运行/debuggingconfiguration。

就我而言,我之前是作为本地testing进行unit testing的。 之后,我把我的testing移动到androidTest包,并试图再次运行它。 Android Studio记得最后一次运行configuration,所以它试图再次运行它作为本地unit testing产生相同的错误。

删除configuration并再次运行testing后,它生成一个新的configuration,并工作。

在这里输入图像说明

所以,我的问题在于文件夹名称。 我已经打电话给我的代码文件夹2016/2017年,IntelliJ不喜欢。 只要删除斜线(或path中的其他违规字符),重新导入项目,你会很好去!

当你的模块和/或项目jdkconfiguration不当时也会发生这种情况。

如果您的testing文件夹已作为单独的模块导入(项目视图中的文件夹图标上显示一个小方块),也可能会发生这种情况。
通过在项目视图中selecttesting文件夹来移除模块,然后按DEL键。
然后开始你的testing。
如果popup对话框出现错误消息,表示没有select模块,请从下拉列表中指定您的根模块。

当我从Maven导入一些jar时候,我遇到了同样的问题,并且导致了empty-test-suite错误。

就我而言,这是因为maven重置模块文件。 我通过清除我的默认configuration来解决问题:

  1. shiftctrlalts快捷键打开项目结构

PModules来源的屏幕截图

  1. 查看“模块”>“源”,然后填写“源”包或testing包。

在我的情况下,问题是通过进入我的build.gradle并改变

 dependencies { testImplementation 'junit:junit:4.12' } 

 dependencies { testCompile 'junit:junit:4.12' } 

开始一个新的IntelliJ项目后,我有一个类似的问题。 我发现我的模块的“模块编译输出path”没有正确指定。 当我将模块的“编译输出path”中的path分配到正确的位置时,问题就解决了。 编译输出path在Project设置中分配。 在“模块”下,select涉及的模块,然后select“path”选项卡…

“项目设置”|“path”选项卡 模块对话框

截图

…我将编译器输出发送到父项目文件夹中存在名为“输出”的文件夹。

得到同样的错误。 我的设备没有连接到android studio。 当我连接到工作室。 有用。 这解决了我的问题。

同样的问题在这里使用IDEA 15.0.6,没有什么帮助,除了当我重命名testing类的包。后来我重新命名为它的原始名称,它仍然工作,所以重命名操作可能已经清除了一些caching。

我遇到过同样的问题。 在我的情况下,我有一些testing类在主文件夹以外的包/文件夹。 但是,当我检查运行configuration,它总是试图寻找主文件夹内的类(而不是我的包之外的包)。 所以如果是这样的话,你必须将你的软件包移动到运行configuration指向的位置。 或者将运行configuration更改为指向您的软件包。

对我来说是因为我的项目被编译到项目之外的目录。 在path中,输出path是放在C:\ production \ project_name中的\ production \ project_name和\ test \ project_name。 将它们更改为项目的完整path允许我的testing访问类文件。

您的testing是否需要Android设备(模拟器或硬件)?
如果是这样,它被称为“仪器testing”,并驻留在“module-name / src / androidTest / java /”中。
如果不是,称为“本地unit testing”,并驻留在“module-name / src / test / java”

https://developer.android.com/training/testing/start/index.html

我得到了同样的错误,因为我写了一个本地unit testing,但它被放置在文件夹testing的文件夹。 把本地的unit testing移到“src / test / java”文件夹中。

我在我的环境中也有同样的问题(MacOS)。 我正在使用IntelliJ 2016.我有一个Java库项目(gradle)。

我做的是

  1. 从IntelliJ旧版本(如IntelliJ14)中打开/导出项目。 这成功发生了,我通过做项目和运行一个testing用例来validation它。
  2. 然后我通过IntelliJ 2016再次导入该项目。之后,它工作正常(build设和testing案例运行)。

删除.idea并重新导入SBT项目为我解决了这个问题。

这可能是因为该文件夹没有设置为testing源,可以通过模块设置>模块来完成。

什么对我来说是右键单击Project folder -> Maven -> Generate Sources and Update Folders

重新导入项目或模块可以解决问题。 我在开发时通过重命名包名来解决了这个问题。 但是出路testing输出path是老路。 所以intellij不能从老路上findclass级。 所以最简单的方法是纠正输出path和testing输出path。

Intellij模块设置

对我来说,这个项目是在项目之外编辑的。 我只是改变道路。 为了改变path(我使用的是Mac)。

  • 转到文件 – >项目结构
  • 转到左侧的模块。
  • selectpath,select单选button(使用模块编译输出path)
  • 提供您的项目中的输出path和testing输出path
  • 取消select排除输出path。
  • 转到文件 – >点击无效caching,然后重新启动

在我的情况下,IntelliJ没有编译testing源的一个奇怪的原因。 我只是修改了构buildconfiguration,并Before launch添加了maven目标clean test-compile

我去了

 File -> Invalidate Caches/Restart... 

然后它为我工作。

在我的情况下,这是因为我有重构的代码,并有“项目结构”(由CTRL + SHIF + ALT + S打开)中显示的问题,然后我解决问题列表并重新运行,它的工作原理。