Junit单元测试
前言
平时在写代码的时候,如果需要测试某个功能我们一般会创建一个Test的测试类,然后写一个main方法,在main方法中测试我们的代码,但是每次需要测试新功能的时候就不得不把原来的测试代码注释掉,或者再写一个Test类,这样很麻烦,建议再测试代码的时候使用Junit测试
Junit使用方法
例子:比如我们现在有一个Calculator,需要测试它里面的 add() 和 sub()。
/** * @Author superMonkey * @Date 2022/7/21 23:49 * @Description TODO */ public class Calculator { /** * 相加的方法 * @param a * @param b * @return */ public int add(int a, int b) { return a + b; } /** * 相减的方法 * @param a * @param b * @return */ public int sub(int a, int b) { return a - b; } }第一步:
- 在Calculator类所在包路径的同级目录下面建立一个test的包。
- 在test的包里面创建一个
测试类名Test的类,例如CalculatorTest的测试类。- 在测试类中创建测试方法,命名
test需要测试的方法名,例如testAdd()。- 在当前方法的上面加上 @Test 注解,这个注解来自于 org.junit这个包下。
- 点击运行就可以测试了。
- 如果需要要测试减法,再旁边再写一个减法的测试方法就可以了
/** * @Author superMonkey * @Date 2022/7/21 23:50 * @Description TODO */ public class CalculatorTest { @Test public void testAdd(){ Calculator calculator = new Calculator(); int result = calculator.add(2, 5); System.out.println(result); } @Test public void testSub(){ Calculator calculator = new Calculator(); int result = calculator.sub(2, 5); System.out.println(result); } }
断言
在上述的测试方法中,如果测试后Idea的界面不出现红色就说明测试通过,但是通过结果来判断测试是否正确是不可靠的,如过方法内部写错,比如,add()方法内部变成了,a -b; 本来是加法,现在却变成了减法,使用Junit测试之后,是可以正常输出结果的,但是结果其实是不正确的。这个时候就需要使用断言。
@Test public void testAdd(){ Calculator calculator = new Calculator(); int result = calculator.add(2, 5); /** * 断言就是我先判断方法允许的结果是什么样子,和实际方法的输出做对比。 * 如果相同,Idea出现绿色,不同出现红色。 * 下面就是我断言结果是 7 ,但是如果result不是7就是说明add()方法错了。 */ Assert.assertEquals(7, result); System.out.println(); }
@Before,@After
@Before , @After是Jnuit提供的两个注解
@Before:在所用的测试方法执行之前需要准备的资源。
@After:在所有的测试方法执行之后需要释放的资源。
public class CalculatorTest { @Before public void init() { System.out.println("初始话测试需要的资源。。"); } @Test public void testAdd(){ Calculator calculator = new Calculator(); int result = calculator.add(2, 5); Assert.assertEquals(7, result); System.out.println(); } @After public void close() { System.out.println("关闭测试中使用到的资源"); } }
本文介绍了如何使用JUnit进行单元测试,包括创建测试类、编写测试方法、使用断言确保测试准确性,以及利用@Before和@After注解进行资源管理。通过JUnit,可以更方便地对代码进行测试和调试,提高开发效率。
354

被折叠的 条评论
为什么被折叠?



