如何在intellij IDEA中将单元测试添加到Java项目中?

2022-09-04 02:36:18

我想用JUnit创建简单的java项目,所以例如我想写一个算法,如合并排序或一些Java类,并创建测试类,这样我就可以为该类进行单元测试。

我用以下方式创建了项目:

文件 -> 新的 -> 项目 -> java -> 接下来,并设置项目名称和位置

我想为我创建的类进行单元测试,并且我已经尝试了以下方法:

  1. 来自 IntelliJ IDEA dosc 的解决方案 1 使用灯泡创建测试类
  2. 解决方案 2 使用快捷方式[ctrl + shift + t]

但是我总是以无法解析符号“junit”结束,我尝试了不同的单元测试库,最终以相同的方式结束。import static org.junit.Assert.*;

如何解决这个问题,以便我可以在这个简单的Java项目中制作单元测试类?


答案 1

你可以使用Gradle或Maven(我现在的个人偏好)。

但最简单的方法是将 JUnit JAR 添加到项目中,编写一些测试,然后在 IntelliJ 中执行它们。

  1. 转到 JUnit 并下载 JAR 的 4.12 版。把它放在 IntelliJ 项目中的一个文件夹 /test-lib 中。
  2. 创建一个文件夹 /src,并向其添加一个包 /model 和一个 Java 类 Foo(我会给你写一个)。
  3. 将 /src 标记为源根目录。
  4. 创建一个文件夹 /test,并向其添加一个包 /model 和一个 Java 类 FooTest(我也会写这个)。
  5. 将 /test 标记为测试源根目录。
  6. 右键单击 /test 并告诉 IntelliJ “运行所有测试”。
  7. IntelliJ 将运行所有测试,并在“运行”窗口中显示结果。

下面是模型类:

package model;

public class Foo {
    private String value;

    public Foo(String v) { this.value = v; }

    public String toString() { return this.value; }
}

下面是测试类:

package model;

public class FooTest {

    @Test
    public void testToString() {
        String expected = "Test";
        Foo foo = new Foo(expected);
        Assert.assertEquals(expected, foo.toString());    
    }          
}

答案 2

我不确定这是最好的解决方案,但我设法使用gradle和maven构建单元测试。喜欢这个:

创建 Java 项目 :

文件 -> 新建 -> 项目 -> Gradle ->仅选择 java->填充 groupId 和 ArtifactId->选择 ->输入项目名称和位置 ->完成use default gradle wrapper

并从项目的根源

右键单击 -> 添加框架支持 ->选择 maven。

从那里,我可以创建我想要的类,并使用问题[ctrl + shift +t]中的解决方案进行单元测试。


推荐