JSRUN 用代码说话

测试驱动开发

编辑教程

测试驱动开发

无论您喜欢在编写生产代码之前编写测试,还是想在以后创建测试,IntelliJ IDEA 可以轻松创建和运行单元测试。在本教程中,我们将展示如何使用 IntelliJ IDEA 来首先编写测试(测试驱动开发或 TDD)。

测试驱动开发(Test-Driven Development)简称 TDD,是以测试作为软件开发的核心,将测试贯穿于软件开发工程的方法论,TDD 同时也是 XP(极限编程)的核心之一。

IntelliJ IDEA 测试驱动开发条件

如果要实现 IntelliJ IDEA 测试驱动开发有以下的几个先决条件:

你已经在 IntelliJ IDEA 中创建了一个 Java 项目。
您也可以使用生产和测试代码的文件夹,可以是您手动创建的或者是创建项目时创建的。
您可以通过添加测试库或在 Gradle 或 Maven 中添加依赖项,在类路径上有 JUnit 4。
源和测试根源是是正确配置的:源根将显示为蓝色文件夹,测试文件夹将具有绿色背景。
您已在项目中创建了所需的包。

创建第一个测试

鉴于我们首先编写我们的测试,而不必为我们测试可用的类,我们将通过项目面板创建我们的第一个测试。

右键单击要创建测试的包,然后选择:新建丨 Java 类(New 丨 Java Class)。
输入测试名称 - 假设我们正在使用 JUnit 进行测试,这可能是 [Something] 测试,例如MoodAnalyserTest。

IntelliJ IDEA

将光标放在类的大括号中的某个位置,按 Alt+Insert。
从菜单中选择:测试方法 JUnit 4(Test Method JUnit

这将创建一个带有默认模板的测试方法。填写测试名称,按回车键,光标将结束于方法体。

IntelliJ IDEA

IntelliJ IDEA

你可以改变默认的测试方法模板,例如,如果您希望将方法名称的开始从test更改为should

编写测试体

为不存在的类和方法编写测试代码可能似乎是直觉的,IntelliJ IDEA 保持编译器使用的简单直观。IntelliJ IDEA 可以为您创建类和方法,如果它们不存在。

  1. 编写测试描述你想要实现的测试,按 Alt+Enter 在任何不存在的类上输入并选择“创建类'[ClassName]'“。这将作为您提供一个适用于编译器的最小实现

IntelliJ IDEA编写测试体

  1. 继续编写测试主体,包括您不需要的方法的名称,您可以再次使用 Alt+Enter 并选择“创建方法'[methodName]'“来使 IntelliJ IDEA 创建一个裸机框架方法。

IntelliJ IDEA编写测试体

与往常一样,您可以使用 IntelliJ IDEA 的重构工具创建变量来存储结果,如果正确的库位于类路径上,IntelliJ IDEA 将为您导入最合适的类。

运行测试

当遵循 TDD 方法时,通常你会经历一个 Red-Green-Refactor 循环。你会运行一个测试,看到它失败(转到红色),实现最简单的代码以使测试通过(转到绿色),然后重构代码,使您的测试保持绿色,并且代码足够干净。

这个循环的第一步是运行测试并且看到它失败。

鉴于我们已经使用 IntelliJ IDEA 的功能来创建我们正在测试的方法的最简单的空实现,我们不期望我们的测试通过。

从测试内部,按下 Ctrl+Shift+F10 以运行此单个测试。

结果将显示在“运行”对话框中。该测试名称旁边会有一个图标(红色表示异常),或黄色表示失败的断言。对于任一类型的失败,还会显示一条消息,说明出了什么问题。

IntelliJ IDEA运行测试

实现代码

下一步是使测试通过,这意味着实现最简单的工作。

您可以使用通常的方法导航到正在测试的代码 - 点击方法名称,在光标位于方法名称上时按下 Ctrl+Alt+B,或者按下 Ctrl+Shift+T 以在测试和生产代码之间切换。
对于方法进行更改以使测试通过。通常使用 TDD,最简单的工作可能是硬编码您的预期值。我们稍后会看到,如何迭代这个过程将导致更逼真的生产代码。
重新运行测试,使用 Shift+F10 重新运行上一个测试。
查看测试通行证 - 测试方法旁边的图标应该变为绿色。如果没有,则在测试通过之前进行所需的更改。

IntelliJ IDEA实现代码

迭代

开发代码是一个迭代过程。当采用 TDD 风格的方法时,这更为真实。为了推出更复杂的行为,我们为其他情况添加测试。

在测试类中,再次使用 Alt+Insert 来创建一个新的测试方法。
选择第二个测试用例,指定您正在测试的方法的更多要求。请记住,您可以使用 IntelliJ IDEA 的功能来创建类和方法来保持编译器的快乐。
运行第二个测试用例,显示出正确的原因失败。
更改正在测试的方法中的代码以使此测试通过。
通过在测试类内部按 Ctrl+Shift+F10 重新运行这两个测试,而不是在单个方法中,并且看到这两个测试都通过了。如果任一测试失败,请对代码进行所需的更改以确保测试通过。

IntelliJ IDEA迭代

JSRUN闪电教程系统是国内最先开创的教程维护系统, 所有工程师都可以参与共同维护的闪电教程,让知识的积累变得统一完整、自成体系。 大家可以一起参与进共编,让零散的知识点帮助更多的人。
X
支付宝
9.99
无法付款,请点击这里
金额: 0
备注:
转账时请填写正确的金额和备注信息,到账由人工处理,可能需要较长时间
如有疑问请联系QQ:565830900
正在生成二维码, 此过程可能需要15秒钟