我刚开始读大学的计算机科学课程,我在使用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的最新版本。


当前回答

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

转到文件—>项目结构

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

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

其他回答

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

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

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

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

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

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

您也可以使缓存无效。

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