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

时间:2016-04-26 23:25:24

标签: java unit-testing intellij-idea junit

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

我用:

创建项目
  

档案 - >新 - >项目 - > java - >接下来,设置项目名称和   位置

我想为我创建的课程进行单元测试,我尝试了以下的解决方案:

  1. solution 1 from IntelliJ IDEA dosc使用灯泡创建测试类
  2. solution 2使用快捷方式[ctrl + shift + t]
  3. 但我始终以import static org.junit.Assert.*; 终止无法解析符号'junit',我尝试了不同的单元测试库以同样的方式结束。

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

2 个答案:

答案 0 :(得分:9)

你可以使用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"运行所有测试"。
  7. IntelliJ将运行所有测试并在“运行”窗口中显示结果。
  8. 这是模型类:

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

答案 1 :(得分:1)

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

创建Java项目:

  

档案 - >新 - >项目 - > Gradle - >只选择java->装满   groupId和ArtifactId->选择use default gradle wrapper - >输入   项目名称和位置 - >完成

并从项目的根目录

  

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

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