我刚开始读大学的计算机科学课程,我在使用IntelliJ时遇到了一些问题。当我试图运行单元测试时,我得到了消息

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

我还在屏幕左侧看到一条标题为“未找到测试”的消息。我的测试代码如下:

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;
}

}

我怎样才能让我的测试正常工作?我使用的是IntelliJ IDEA CE的最新版本。


我的问题是文件夹名称。我把我的代码文件夹命名为Classes 2016/2017, IntelliJ不喜欢这样。只需删除斜杠(或路径中其他令人讨厌的字符),重新导入项目,就可以开始了!


如果您的测试文件夹已经作为一个单独的模块导入(项目视图中的文件夹图标上显示一个小正方形),这也可能发生。 通过在项目视图中选择测试文件夹并按DEL键来删除模块。 然后开始你的测试。 如果弹出对话框显示错误消息,说明没有选择模块,请从下拉菜单中指定根模块。


当你的模块-和/或项目-jdk没有正确配置时,也会发生这种情况。


这里使用IDEA 15.0.6也有同样的问题,除了重命名测试类所在的包外,没有任何帮助。之后我重命名为它原来的名字,它仍然工作,所以重命名操作可能已经清除了一些缓存。


也传达了同样的信息。我必须删除运行/调试配置。

在我的例子中,我之前将单元测试作为本地测试运行。之后,我把我的测试移动到androidTest包,并试图再次运行它。Android Studio记得上次运行配置,所以它试图再次运行它作为一个本地单元测试,这产生了相同的错误。

在删除配置并再次运行测试之后,它生成了一个新的配置并正常工作。


我也有同样的问题。在我的情况下,我在主文件夹外的包/文件夹中有一些测试类。但是当我检查运行配置时,它总是试图在主文件夹内寻找类(而不是我的包在主文件夹外)。 因此,如果是这种情况,您要么必须将包移动到Run配置所指向的位置。 或者更改运行配置以指向您的包。


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

项目设置|模块对话框中的路径选项卡

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


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


您的测试是否需要Android设备(模拟器或硬件)? 如果是,它被称为“仪器测试”,位于“module-name/src/androidTest/java/”。 如果不是,它被称为“本地单元测试”,位于“module-name/src/test/java”

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

我得到了同样的错误,因为我已经编写了一个本地单元测试,但它被放置在用于测试的文件夹中。将本地单元测试移到“src/test/java”文件夹中可以解决这个问题。


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


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

我所做的是

从IntelliJ旧版本(如IntelliJ14)打开/导出项目。 这成功地发生了,我通过制作项目和运行测试用例来验证它。 然后通过IntelliJ 2016重新导入该项目。 在那之后,它工作得很好(构建和测试用例运行)。


当我从Maven导入一些jar时,我遇到了同样的问题,随后导致了空测试套件错误。

在我的例子中,这是因为maven重置了模块文件。我通过清除默认配置解决了这个问题:

用shift-ctrl-alt-s快捷键打开项目结构

查看Modules > Sources并填充Sources包或测试package。


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


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


对我有用的是右键单击项目文件夹-> Maven ->生成源和更新文件夹


重新导入项目或模块可以解决这个问题。 在开发时,我通过重命名包名来解决这个问题。但是输出路径和测试输出路径是旧的路径。所以intellij不能从旧路径中找到类。 所以最简单的方法是纠正输出路径和测试输出路径。


对我来说,这个项目是在项目之外编译的。我只是改变了路径。 更改路径(我使用mac)。

进入文件—>项目结构 进入左边的模块。 选择路径,选择单选按钮(使用模块编译输出路径) 提供输出路径和测试输出路径,这是在你的项目 取消选择“排除输出路径”。 进入文件——>单击“无效缓存”并重新启动


在我的案例中,通过进入我的构建,这个问题得到了解决。Gradle和change

dependencies {
    testImplementation 'junit:junit:4.12'
}

to

dependencies {
    testCompile 'junit:junit:4.12'
}

在我的例子中,IntelliJ因为一个奇怪的原因没有编译测试源。我只是修改了构建配置,并在Before launch部分中添加了maven目标干净的test-compile


我去了

File -> Invalidate Caches/Restart...

然后它对我有用。


在Android Studio 3.0 +中,UI测试有时会被解释为单元测试,它不要求目标部署选择。您可以转到Edit Configuration并将其标记为集成测试,它将开始工作


通过在运行单元测试之前手动运行testClasses任务来解决。


我也有同样的问题。我重建了项目,这对我很有帮助。

进入构建—>重建项目

之后,如果你正在使用Maven工具,我建议使用选项“重新导入所有Maven项目”

如果没有帮助,尝试其他可能的解决方案:

进入文件——>Invalidate cache /Restart——>Invalidate and Restart

or:

在你的Maven项目结构中,src/main/java右键单击java目录并选择选项Mark directory as——> Sources root类似地对test directory做同样的操作:src/test/java右键单击java目录并选择选项Mark directory as——> test 源根

or:

运行——>编辑配置并在JUnit部分删除测试配置。应用更改。然后尝试运行您的测试。应该自动创建新的配置。

or:

Go to File --> Project Structure, select Modules, then select your proper module and go to the Paths tab. Check options: Radio button Use module compile output path should be selected. Output path should be inside your project. Also Test output path should be directory inside your project. For example it can look similarly: Output path: C:\path\to\your\module\yourModule \target\classesTest Output path: C:\path\to\your\module\yourModule \target\test-classesExclude output paths should be deselected.


我解决这个问题的方法是使用文件夹名称和路径。

由于某些原因,我的测试丢失了/java/文件夹,IntelliJ不喜欢这样。

所以从 . . /测试/ com/.。 来 . . /测试/ java / com/.。

这是好的


我试了所有的办法,但没有一个有用。最后,我在调试模式和....运行测试它开始起作用了。也许某个专家的藏宝被清空了。这很难说。它的工作原理。试试mvn test -X


只需在项目窗口中的文件上单击鼠标右键并选择

运行您的测试。

现在一切开始正常,可能是因为错误的运行配置正在重新构建。


我有同样的问题,重建/无效缓存等不工作。似乎这只是Android Studio的一个bug……

一个临时的解决方案是从命令行运行单元测试:

./gradlew test

参见:https://developer.android.com/studio/test/command-line.html


我也遇到了同样的问题(Android Studio 3.2 Canary 4),我尝试了其他答案中描述的大部分建议——没有任何成功。注意,这发生在我将文件从test文件夹移动到androidTest文件夹之后。它仍然在运行配置中显示为测试,而不是仪器测试。

我最终创建了一个新文件:

用不同的名称创建新的测试类。 从类中复制所有代码。 运行它。 删除旧类。 将新类重命名为所需的名称。


有趣的是,由于不同的原因,我遇到过很多次这个问题。例如,无效缓存和重新启动也有帮助。

最后,我通过纠正我的输出路径在文件->项目结构->项目->项目编译器输出:absolute_path_of_package/out

例如:/Users/random-guy/myWorkspace/src/DummyProject/out


在安装了新版本的IntelliJ而IntelliJ插件还没有更新之后,可能会发生这种情况(对我来说至少有一次;)。

您可能需要手动执行IntelliJ帮助菜单中的“检查更新…”


在我的例子中,我把其他所有东西都放在了正确的位置,但我正在用kotlin开发一个java库。 我只是忘记应用插件:

apply plugin: 'kotlin-android'

现在它正按照预期工作。


在您的Maven项目结构src/main/java右键单击java目录,并选择选项Mark directory as——> Sources Root

src/test/java右键单击java目录,选择选项Mark directory as——> test Sources Root

为我工作过:-)


首先,我们需要了解为什么会发生这种情况,错误消息是明确的:

进程已完成,退出代码为1 类未找到:"edu.macalester.comp124.hw0.AreaTest"空测试套件。

因此,这主要发生在创建单元测试类之后,我们在从类级别运行方法(测试)之前单独运行它们。就这些


在IntelliJ IDEA中将包/目录标记为测试源。


如果项目存在编译问题,则测试可能无法运行。 因此,首先构建项目为build ->构建项目。 成功编译后重新运行测试。

如果没有任何工作,那么只需关闭项目窗口并删除项目,重新导入为Gradle/Maven项目,这将通过覆盖现有的IntelliJ创建的文件来为您设置一切。这将删除创建的无效缓存。

您也可以使缓存无效。

File ->使缓存失效/重新启动


在我的情况下,有一个问题的测试名称:)。

如果名字是: dummyNameTest则在找到的地方不进行测试,但以防万一 一切正常


在Intellij中遵循以下步骤(为了更好地理解,有截图):

转到文件—>项目结构

导航到模块,现在选择Junit测试文件所在的模块,并选择“使用模块编译输出路径”单选按钮。 提到各自的类文件夹路径,类似于所附的屏幕截图。

请申请和好的。 这对我很管用!


删除和重新创建运行配置也有帮助。


我没有编译代码。

为了解决这个问题,我执行了以下操作。

去Maven ->单击执行Maven目标

执行命令

mvn test-compile 

从下拉菜单中选择项目。

现在去运行你的测试,它会起作用的


我也遇到了同样的问题,但没有一个解决方案对我有效。

您可以尝试以下步骤:

在Intellij IDEA中关闭项目。 删除文件资源管理器中的.idea文件夹并重新打开项目。 再做一次测试


我遇到了同样的问题,最后,我在我的项目中发现了一个重复的测试类,具有相同的包名和类名。


我也有同样的问题。我使用了一个不是英语的字符,重命名它解决了我的问题。 例如:i。