junit是什么

目录

1.导入junit库

2.创建测试类

3.添加注解

4.编写测试方法:

 5.运行测试:

6.查看测试结果:


其实junit就是一个单元测试框架(可以变相理解为一种方法可以测试代码的正确性)

众所周知,我们写代码需要检查代码的正确性,但是我们不可能把代码全部运行一遍来检查它是否有bug,为了能够检查代码的正确性,junit就被创作出来,它就是一种检查代码是否正确的测试模版。

测试一共有两种

  1. 黑盒测试:不需要写代码,给出输入值,看程序是否能输出期望值
  2. 白盒测试:需要写代码,关注程序具体的执行流程。

junit就是白盒测试

1.导入junit库

在你的java项目中,你需要导入junit库才能使用junit中的工具,。这通常可以通过在项目的构建路径中包含JUnit JAR文件来完成。如果你使用的是maven构建工具,你可以在项目中的依赖管理文件中添加JUnit依赖项。例如,对于maven项目,你可以在pom.xml文件中添加以下依赖项:

<dependency>  
    <groupId>junit</groupId>  
    <artifactId>junit</artifactId>  
    <version>4.13.2</version>  
    <scope>test</scope>  
</dependency>
2.创建测试类

在这个示例中,我们为待测试的MyMath类创建了一个名为MyMathTest的测试类。这个测试类应该与被测试的类位于相同的包中,并且命名通常应该是被测试的类的名称后加上“Test”。

public class MyMathTest {  
    //...  
}
3.添加注解

在测试类和方法上添加JUnit的注解。这些注解用于标识测试类和测试方法,以及定义测试的执行顺序和配置。在示例中,我们使用了@Test注解来标识测试方法。

@Test  
public void testAddition() {  
    //...  
}

常见的注解包括:

  • @BeforeClass: 在测试类中的所有测试方法执行之前执行一次。通常用于执行一些耗时的初始化操作,如建立数据库连接。
  • @Before:在每个测试方法执行之前执行。通常用于初始化测试数据和设置测试环境。
  • @Test:标识一个测试方法。这个方法应该包含你想要测试的代码逻辑。
  • @After:在每个测试方法执行之后执行。通常用于清理测试环境,如关闭文件句柄或释放资源。
  • @AfterClass:在测试类中的所有测试方法执行之后执行一次。通常用于执行一些耗时的清理操作,如关闭数据库连接。
4.编写测试方法:

在测试类中编写一个或多个测试方法。这些测试方法应该包含你想要测试的代码逻辑,并使用断言方法来验证代码的行为是否符合预期。示例中的testAddition方法测试了MyMath类的add方法。我们使用assertEquals断言方法来验证实际结果是否等于期望结果。

public void testAddition() {  
    MyMath myMath = new MyMath();  
    int result = myMath.add(2, 3);  
    assertEquals(5, result);  
}
 5.运行测试:

执行代码

6.查看测试结果:

查看编译器中的测试结果,我们并不看是否正确输出,而是使用断言来判断代码块是否正确,判断结果:红色:失败。  绿色:成功。

断言:

断言其实就是预判程序的执行结果。他们是程序中的条件语句,如果条件为真,则程序会继续执行;如果条件为假,则程序会终止执行并给出错误信息。这样可以让我们快速检测代码中的问题,并找出问题的原因。

例如,编写一个函数来计算两个数的和,可以使用断言来检查实际结果是否等于预期结果:

public int add(int a, int b) {  
    int result = a + b;  
    assert result == 5;  // 断言:结果应该等于5  
    return result;  
}

在这个例子中,如果断言的条件为假(即,结果不等于5),程序会终止执行并给出错误信息,这可以帮助我们快速发现和修复问题。

  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值