前置知识: 软件测试

测试双

8 minIntermediate2026/6/14

测试双(Test Double):Mock、Stub、Spy、Fake 的区别与使用场景。

1. 测试双分

1.1 Dummy

Dummy是测试双的重要组成部分。本节详细介绍Dummy的核心概念、工作原理和实际应用。

关键要点

  • Dummy的定义与核心原理
  • Dummy的实现方式与技术细节
  • Dummy在实际场景中的应用与最佳实践
  • Dummy的常见问题与解决方案

Dummy在工程实践中需要根据具体场景选择合适的策略,平衡性能、可靠性和复杂度。

1.2 Stub

Stub是测试双的重要组成部分。本节详细介绍Stub的核心概念、工作原理和实际应用。

关键要点

  • Stub的定义与核心原理
  • Stub的实现方式与技术细节
  • Stub在实际场景中的应用与最佳实践
  • Stub的常见问题与解决方案

Stub在工程实践中需要根据具体场景选择合适的策略,平衡性能、可靠性和复杂度。

1.3 Spy

Spy是测试双的重要组成部分。本节详细介绍Spy的核心概念、工作原理和实际应用。

关键要点

  • Spy的定义与核心原理
  • Spy的实现方式与技术细节
  • Spy在实际场景中的应用与最佳实践
  • Spy的常见问题与解决方案

Spy在工程实践中需要根据具体场景选择合适的策略,平衡性能、可靠性和复杂度。

1.4 Mock

Mock是测试双的重要组成部分。本节详细介绍Mock的核心概念、工作原理和实际应用。

关键要点

  • Mock的定义与核心原理
  • Mock的实现方式与技术细节
  • Mock在实际场景中的应用与最佳实践
  • Mock的常见问题与解决方案

Mock在工程实践中需要根据具体场景选择合适的策略,平衡性能、可靠性和复杂度。

1.5 Fake

Fake是测试双的重要组成部分。本节详细介绍Fake的核心概念、工作原理和实际应用。

关键要点

  • Fake的定义与核心原理
  • Fake的实现方式与技术细节
  • Fake在实际场景中的应用与最佳实践
  • Fake的常见问题与解决方案

Fake在工程实践中需要根据具体场景选择合适的策略,平衡性能、可靠性和复杂度。

2. Mock 详解

2.1 行为验证 vs 状态验证

行为验证 vs 状态验证是测试双的重要组成部分。本节详细介绍行为验证 vs 状态验证的核心概念、工作原理和实际应用。

关键要点

  • 行为验证 vs 状态验证的定义与核心原理
  • 行为验证 vs 状态验证的实现方式与技术细节
  • 行为验证 vs 状态验证在实际场景中的应用与最佳实践
  • 行为验证 vs 状态验证的常见问题与解决方案

行为验证 vs 状态验证在工程实践中需要根据具体场景选择合适的策略,平衡性能、可靠性和复杂度。

2.2 Mockito

Mockito是测试双的重要组成部分。本节详细介绍Mockito的核心概念、工作原理和实际应用。

关键要点

  • Mockito的定义与核心原理
  • Mockito的实现方式与技术细节
  • Mockito在实际场景中的应用与最佳实践
  • Mockito的常见问题与解决方案

Mockito在工程实践中需要根据具体场景选择合适的策略,平衡性能、可靠性和复杂度。

2.3 Jest mock

Jest mock是测试双的重要组成部分。本节详细介绍Jest mock的核心概念、工作原理和实际应用。

关键要点

  • Jest mock的定义与核心原理
  • Jest mock的实现方式与技术细节
  • Jest mock在实际场景中的应用与最佳实践
  • Jest mock的常见问题与解决方案

Jest mock在工程实践中需要根据具体场景选择合适的策略,平衡性能、可靠性和复杂度。

3. Stub 详解

3.1 预设返回值

预设返回值是测试双的重要组成部分。本节详细介绍预设返回值的核心概念、工作原理和实际应用。

关键要点

  • 预设返回值的定义与核心原理
  • 预设返回值的实现方式与技术细节
  • 预设返回值在实际场景中的应用与最佳实践
  • 预设返回值的常见问题与解决方案

预设返回值在工程实践中需要根据具体场景选择合适的策略,平衡性能、可靠性和复杂度。

3.2 WireMock HTTP Stub

WireMock HTTP Stub是测试双的重要组成部分。本节详细介绍WireMock HTTP Stub的核心概念、工作原理和实际应用。

关键要点

  • WireMock HTTP Stub的定义与核心原理
  • WireMock HTTP Stub的实现方式与技术细节
  • WireMock HTTP Stub在实际场景中的应用与最佳实践
  • WireMock HTTP Stub的常见问题与解决方案

WireMock HTTP Stub在工程实践中需要根据具体场景选择合适的策略,平衡性能、可靠性和复杂度。

4. 最佳实践

4.1 何时使用哪种

何时使用哪种是测试双的重要组成部分。本节详细介绍何时使用哪种的核心概念、工作原理和实际应用。

关键要点

  • 何时使用哪种的定义与核心原理
  • 何时使用哪种的实现方式与技术细节
  • 何时使用哪种在实际场景中的应用与最佳实践
  • 何时使用哪种的常见问题与解决方案

何时使用哪种在工程实践中需要根据具体场景选择合适的策略,平衡性能、可靠性和复杂度。

4.2 避免过度 Mock

避免过度 Mock是测试双的重要组成部分。本节详细介绍避免过度 Mock的核心概念、工作原理和实际应用。

关键要点

  • 避免过度 Mock的定义与核心原理
  • 避免过度 Mock的实现方式与技术细节
  • 避免过度 Mock在实际场景中的应用与最佳实践
  • 避免过度 Mock的常见问题与解决方案

避免过度 Mock在工程实践中需要根据具体场景选择合适的策略,平衡性能、可靠性和复杂度。

4.3 契约测试

契约测试是测试双的重要组成部分。本节详细介绍契约测试的核心概念、工作原理和实际应用。

关键要点

  • 契约测试的定义与核心原理
  • 契约测试的实现方式与技术细节
  • 契约测试在实际场景中的应用与最佳实践
  • 契约测试的常见问题与解决方案

契约测试在工程实践中需要根据具体场景选择合适的策略,平衡性能、可靠性和复杂度。