Logo
☆☆☆☆☆
0.0
Intermediate
13h

使用 JUnit 进行 Java 8 的实用单元测试

本课程中,你将学习如何使用 JUnit 为 Java 应用程序编写单元测试。你将从单元测试的基础知识开始,掌握在 JUnit 中编写基本测试所需的基础信息。你将了解 JUnit 的组织结构和断言机制,并掌握一些核心的单元测试质量实践,例如正确的 BICEP 原则和 CORRECT 方法。 课程后期,我们将关注更大的设计视角,探讨设计与单元测试之间的相互影响。你将对测试代码进行重构,并学习如何使用模拟对象来处理复杂的依赖关系。

16 Lessons
Included in Subscription Plan
Personalized Learning
Powered by AI
使用 JUnit 进行 Java 8 的实用单元测试
本课程中,你将学习如何使用 JUnit 为 Java 应用程序编写单元测试。你将从单元测试的基础知识开始,掌握在 JUnit 中编写基本测试所需的基础信息。你将了解 JUnit 的组织结构和断言机制,并掌握一些核心的单元测试质量实践,例如正确的 BICEP 原则和 CORRECT 方法。 课程后期...

WHAT YOU'LL LEARN

学习如何使用 JUnit 有效测试 Java 应用程序

Content

16 Lessons • 0 Quizzes • 0 Challenges

开始之前
  1. 1

    为什么选择这门课程?

  2. 2

    课程结构

  3. 3

    为什么要进行单元测试?

JUnit 测试基础
  1. 1

    编写单元测试的原因

  2. 2

    JUnit 测试入门

  3. 3

    我们的第一个通过测试

  4. 4

    通过安排、执行和断言来编写测试

  5. 5

    理解我们正在测试的内容:Profile 类

  6. 6

    让我们编写测试

  7. 7

    使用 @Before 方法初始化测试

  8. 8

    JUnit 测试小测验

深入探究 JUnit 断言
  1. 1

    JUnit 中的断言简介

  2. 2

    一个经典风格的断言:assertTrue

  3. 3

    Hamcrest 断言

  4. 4

    装饰器

  5. 5

    比较两个浮点数

  6. 6

    断言消息

  7. 7

    测试预期的异常

  8. 8

    使用 JUnit 预期异常

  9. 9

    测验时间

组织你的测试
  1. 1

    遵循 AAA 模式

  2. 2

    测试行为而非方法

  3. 3

    测试代码与生产代码之间的关系

  4. 4

    专注且单一目的的测试

  5. 5

    测试文档

  6. 6

    使用注解

  7. 7

    绿色是好的

  8. 8

    测验时间

掌握 FIRST 原则
  1. 1

    概述:良好测试的特性

  2. 2

    [F]IRST:[F]快速

  3. 3

    F[I]RST:[I]隔离你的测试

  4. 4

    FI[R]ST:好的测试应该具有[R]重复性

  5. 5

    FIR[S]T:[S]自验证

  6. 6

    FIRS[T]:[T]及时

  7. 7

    测验时间

要测试什么:Right-BICEP
  1. 1

    Right-BICEP(orientation)

  2. 2

    Right-BICEP:结果是否正确?

  3. 3

    Right-BICEP:边界条件(B)

  4. 4

    Right-B[I]CEP:检查逆关系(concept)

  5. 5

    Right-BI[C]EP:通过其他方式交叉验证(concept)

  6. 6

    Right-BIC[E]P:强制错误条件(concept)

  7. 7

    Right-BICE[P]:性能特征(concept)

  8. 8

    测验时间

边界条件:正确的方法
  1. 1

    正确的做法

  2. 2

    [C]ORRECT:[C]onformance(concept)

  3. 3

    C[O]RRECT:[O]rdering

  4. 4

    正确:范围

  5. 5

    COR[R]ECT:[R]eference

  6. 6

    正确:[C]ardinality 和 [E]xistence

  7. 7

    CORREC[T]:[T]时间

  8. 8

    测验时间

更大的设计格局
  1. 1

    重构为更清晰的代码

  2. 2

    为我们的方法寻找更合适的归宿

  3. 3

    自动化与手动重构

  4. 4

    重构要到什么程度?

  5. 5

    测验时间

更大的设计问题
  1. 1

    SOLID 类设计原则

  2. 2

    单一职责原则与 Profile 类

  3. 3

    命令-查询分离原则

  4. 4

    测试维护成本

  5. 5

    其他设计思路

  6. 6

    测验时间

使用模拟对象
  1. 1

    一个测试挑战

  2. 2

    用桩(Stub)替换复杂行为

  3. 3

    调整我们的设计以支持测试

  4. 4

    使用模拟工具简化测试

  5. 5

    最后一种简化:引入一个注入工具

  6. 6

    使用模拟对象时需要注意哪些关键点?

  7. 7

    测验时间

重构测试
  1. 1

    寻找理解

  2. 2

    测试异味:不必要的测试代码

  3. 3

    测试异味:缺乏抽象

  4. 4

    测试异味:无关信息

  5. 5

    测试异味:过度复杂的构造

  6. 6

    测试异味:多重断言

  7. 7

    测试异味:无关细节

  8. 8

    测试异味:隐含含义与误导性组织

  9. 9

    添加一个新测试

  10. 10

    测验时间

单元测试的全局视角
  1. 1

    测试驱动开发

  2. 2

    TDD流程

  3. 3

    最小增量

  4. 4

    代码重构

  5. 5

    另一个小增量

  6. 6

    支持多个答案:一个小小的架构设计调整

  7. 7

    扩展接口

  8. 8

    最后的测试

  9. 9

    测试即文档

  10. 10

    测验时间

测试一些复杂的内容
  1. 1

    测试多线程代码

  2. 2

    提取应用逻辑

  3. 3

    重新设计线程逻辑

  4. 4

    测试数据库

  5. 5

    数据问题

  6. 6

    清理数据库并模拟控制器

在项目中进行测试
  1. 1

    持续警惕

  2. 2

    一个团队,一个单位

  3. 3

    与持续集成的融合

  4. 4

    代码覆盖率

总结
  1. 1

    结论

附录 - 配置 JUnit
  1. 1

    IntelliJ IDEA

  2. 2

    NetBeans

Certificate of Completion

Showcase your accomplishment by sharing your certificate of completion.

Course Author:Anonymous User

Reviews

Read reviews from students who have taken this course and share your own experience.

Reviews & Comments (0)