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

Guj*_*ana 11 java junit unit-testing intellij-idea

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

我用以下方法创建项目:

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

我想为我创建的课程进行单元测试,我尝试了以下几个问题:

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

但是我总是用import static org.junit.Assert.*; 无法解析符号'junit',我尝试了不同的单元测试库以同样的方式结束.

如何解决这个问题所以我可以在这个简单的Java项目中创建单元测试类?

duf*_*ymo 10

您可以使用Gradle或Maven(这些天我的个人偏好).

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

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

这是模型类:

package model;

public class Foo {
    private String value;

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

    public String toString() { return this.value; }
}
Run Code Online (Sandbox Code Playgroud)

这是测试类:

package model;

public class FooTest {

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