Go 测试简介 (Golang)

Introduction to Testing in Go (Golang)

了解如何在 Go 中为 Web 应用程序和 REST API 编写有效的单元和集成测试

你将学到什么

  • 了解如何在 Go 中编写单元测试
  • 了解如何在 Go 中编写集成测试,并使用 Docker 简化它们
  • 了解如何在 Go 中创建测试套件
  • 了解如何创建简单的 Web 应用程序并测试处理程序、中间件、数据库等
  • 了解如何在 Go 中创建简单的 REST API 并测试其端点
  • 学习使用 JWT 令牌(和刷新令牌)进行身份验证并完全测试所有功能
  • 了解如何使用表测试编写涵盖多个场景的测试

要求

  • 对 Go 编程语言的使用有基本的了解

描述

编写单元测试和集成测试是软件开发中最容易被忽视的方面之一。很多时候,开发人员会发现他或她自己说“但它可以在我的计算机上运行!” 当一个项目被认为已经完成时,却发现一旦脱离开发环境,事情就不会按预期进行。

编写良好的单元测试和集成测试有助于解决这个问题,事实上几乎无一例外都会减少而不是增加总体开发时间。此外,经过良好测试的代码几乎总是需要较少的维护,并且最终产品的停机时间也会较少。

本课程的重点是用 Go 编写单元和集成测试,Go 是一种现代、类型安全、编译且速度极快的编程语言。它非常适合构建安全、可扩展、速度极快的 Web 应用程序,并且内置了强大的测试工具。

在本课程中,我们将构建四个简单的应用程序,并彻底测试它们:

  • 尝试确定用户输入的数字是否为质数的命令行应用程序( CLI);
  • 一个简单的Web 应用程序,允许用户登录并上传个人资料图片;
  • 一个简单的REST API构建在与 Web 应用程序相同的代码库上,允许用户使用JWT 令牌进行身份验证并对 Postgres 数据库执行操作。我们将完成整个身份验证过程,包括使用刷新令牌,并彻底测试代码的各个方面。
  • 一个用 Vanilla JavaScript 编写的简单单页 Web 应用程序(SPA),演示如何将 JWT 和刷新令牌与 SPA 结合使用,以及如何测试该功能。

对于每个项目,我们将学习如何为所有功能编写单元测试。我们将学习如何测试(除其他外):

  • 申请途径
  • 应用程序处理程序
  • 如何通过编写和使用表测试来测试多个场景
  • 数据库操作(使用存储库模式)
  • 应用中间件
  • 用户身份验证(带会话)
  • 用户身份验证(使用 JWT 令牌)
  • JWT 令牌生成和验证
  • 刷新令牌生成和验证
  • 测试用户输入
  • 写入终端
  • 向请求添加 cookie
  • 从响应中读取 cookie

在本课程结束时,您将对如何编写有效的测试以及如何编写可测试的代码有深入的了解。

本课程适合谁:

  • 希望提高测试技能的 Go 开发人员
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。