最近在用 Java 刷算法题,用本地 IDE 调试的时候,一般都会在类中写 main
方法,比较麻烦,但实际上一个类是可以不需要 main
方法的。这边介绍 Java 中的 Junit 单元测试。
如下所示,使用 @Test
注解,就可以不用写 main
方法。使用需要导入 org.junit.Test 依赖。
package com.company;
import org.junit.Assert;
import org.junit.Test;
public class MyClass {
public int add(int num) {
return num + 1;
}
@Test
public void test1() {
int res = add(1);
Assert.assertEquals(2, res);
}
}
用于测试的方法有几个注意事项:
- 权限必须是 public
- 不能用 static 修饰
- 不能有返回值,即返回类型为 void
- 不能有参数
另外 Junit 还提供了 org.junit.Assert 断言模块,可以比较实际的值和预期的值是否一样,如果和预期的值相同则测试成功,否则测试失败。
例如:
Assert.assertEquals(expect, actual);
Assert.assertArrayEquals(expect, actual);
Assert.assertNotNull(actual);