如何使用JUnit进行单元测试

时间:2020-02-23 14:33:11  来源:igfitidea点击:

什么是软件测试,为什么有用?

用最简单的术语来说,测试软件就是评估它是否满足所有的需求,并且检查是否有任何与当前状态相关的错误行为和错误。

Java测试

Java有多种可用的测试框架,但是,在本教程中,我们将重点关注JUnit,因为它是最流行的框架之一。

有点关于JUnit

JUnit是一个Java框架,它允许我们编写和运行自动化测试。随着框架的最新更新,JUnits的可读性显著提高。

设置JUnit

如果我们使用的是通用的IDE,比如Eclipse、IntelliJ或者NetBeans,那么默认情况下已经安装了JUnit。如果我们不使用IDE而只使用Maven或者Gradle,则需要将其安装到pom.xml文件或者建造。梯度文件。

如果我们在Eclipse中创建一个Maven项目并选择archetype quickstart并导航到pom.xml文件文件,我们将看到,Eclipse自动添加了JUnit作为依赖项。

但是,版本是3.8.1. 我们不想这样,我们或者要junit4,或者要junit5.

JUnit4

因此,让我们删除默认版本,并将其替换为新版本,如下所示:

但是,当我们将它添加为依赖项之后,它无法识别org.junit,请执行以下操作:

在eclipse中:

属性->Java构建路径->库->添加库->JUnit

如何使用JUnit示例

这是我的简单程序,我们将对其运行JUnit测试:

我的测试课

就这样!我们刚刚对exampeMethod方法进行了两次测试。

故障

注意,testConversion()方法是用JUnit@Test注释注释注释的。这样做是为了让单元测试运行者知道这个方法代表一个单元测试,并且应该被执行。如果它没有这个注释,它就不会被表示为一个测试类,而且,也不会由测试运行器运行。

assertEquals()是进行实际测试的方法。你真正关心的是13号线和17号线。assertEquals()方法接受两个参数,第一个参数是预期结果,第二个参数是实际结果。我们可以看到这是如何非常有用和非常容易实现。

需要指出的是,如果预期结果与实际结果不匹配,则不会发生任何事情,但是,如果它们不匹配,assertEquals将抛出异常,测试方法将停止进一步的执行。

我们可以有任意多个测试方法。

运行JUnit

在Eclipse中运行

在eclipse中,在packageexplorer上,找到JUnit测试,右键单击,然后选择runas->junittest。

在Maven运行

如果你想用Maven运行JUnit,你可以使用 mvn test运行整个测试套件,或者运行一个特定的测试: mvn-Dtest=TestName test

在Gradle中运行

在gradle中,对于整个测试套件: gradlew test,对于特定测试: gradlew test-Dtest.single=测试名称测试。**