如何编写单元测试?

2022-08-31 07:13:53

我有一个Java类。如何对其进行单元测试


在我的情况下,我有类做一个二进制和。它采用两个数组,对它们求和,并返回一个新的二进制数组。byte[]


答案 1
  1. 使用正确的输入定义正常情况下的预期和期望输出。

  2. 现在,通过声明一个类来实现测试,将其命名为任何东西(通常类似于TestAddModule),并向其添加testAdd方法(即如下所示):

    • 编写一个方法,并在其上方添加@Test注释。
    • 在该方法中,运行二进制求和和 。assertEquals(expectedVal,calculatedVal)
    • 通过运行方法测试方法(在 Eclipse 中,右键单击,选择“运行方式→ JUnit 测试”)。

      //for normal addition 
      @Test
      public void testAdd1Plus1() 
      {
          int x  = 1 ; int y = 1;
          assertEquals(2, myClass.add(x,y));
      }
      
  3. 根据需要添加其他案例。

    • 测试如果存在整数溢出,则二进制和不会引发意外异常。
    • 测试您的方法是否正常处理 Null 输入(下面的示例)。

      //if you are using 0 as default for null, make sure your class works in that case.
      @Test
      public void testAdd1Plus1() 
      {
          int y = 1;
          assertEquals(0, myClass.add(null,y));
      }
      

答案 2

我为IntelliJEclipse提供了这篇文章。

日蚀:

要为您的项目进行单元测试,请按照以下步骤操作(我正在使用Eclipse来编写此测试):

1- 单击“新建 -> Java 项目”。

Create Project

2-记下您的项目名称,然后单击完成。

Create Project

3-右键单击您的项目。然后,单击“新建 ->类”。

Create Class

4-写下您的班级名称,然后单击完成。

Create Class

然后,像这样完成该类:

public class Math {
    int a, b;
    Math(int a, int b) {
        this.a = a;
        this.b = b;
    }
    public int add() {
        return a + b;
    }
}

5- 单击文件 -> 新建 -> JUnit 测试用例。

Create JUnite Test

6-检查设置()并单击完成。SetUp() 将是初始化测试的地方。

Check SetUp()

7-单击“确定”。

Add JUnit

8-在这里,我只是简单地添加7和10。所以,我预计答案是17。像这样完成测试类:

import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
public class MathTest {
    Math math;
    @Before
    public void setUp() throws Exception {
        math = new Math(7, 10);
    }
    @Test
    public void testAdd() {
        Assert.assertEquals(17, math.add());
    }
}

9- 在包资源管理器中单击测试类,然后单击“运行方式”> JUnit 测试。

Run JUnit Test

10-这是测试的结果。

Result of The Test

IntelliJ:请注意,我使用IntelliJ IDEA社区2020.1进行屏幕截图。另外,您需要在这些步骤之前设置 jre。我使用的是 JDK 11.0.4。

1- 右键单击项目的主文件夹>新的 -> 目录。您应该称之为“测试”。enter image description here 2-右键单击测试文件夹并创建正确的包。我建议创建与原始类相同的包装名称。然后,右键单击测试目录 ->将目录标记为 ->测试源根目录。enter image description here 3-在测试目录中的正确包中,您需要创建一个Java类(我建议使用Test.java)。enter image description here 4- 在创建的类中,键入“@Test”。然后,在IntelliJ为您提供的选项中,选择“将'JUnitx'添加到类路径”。enter image description here enter image description here 5-在测试类中编写测试方法。方法签名如下所示:

@Test
public void test<name of original method>(){
...
}

你可以做如下断言:

Assertions.assertTrue(f.flipEquiv(node1_1, node2_1));

这些是我添加的导入:

import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;

enter image description here

这是我写的测试:enter image description here

您可以检查您的方法,如下所示:

Assertions.assertEquals(<Expected>,<actual>);
Assertions.assertTrue(<actual>);
...

要运行单元测试,请右键单击该测试,然后单击“运行”。enter image description here

如果您的测试通过,结果将如下所示:enter image description here

我希望它有帮助。


推荐