Full Stack Python logo Full Stack Python

全部主题 | Blog | 时讯 | @fullstackpython | Facebook | 源码

单元测试

单元测试是一种用于判断从更大的代码库分离出来的单个函数正确性的方法。 单元测试的思想是,如果一个应用程序中所有分离出来的原子单元都能按照预期工作, 那么当把它们集成到一起后,能按照预期工作将会更加容易。

单元测试缘何重要?

单元测试只是一种 测试 形式,它会和其他测试方法配合在一起,用于查找正在开发的软件中存在的 bug。当把多个函数和类放在一块后,通常来说,如果多个 bug 同时出现的话,将很难定位问题的根源。单元测试能帮助消除尽可能多的独立 bug,从而当一个程序作为一个整体运行时,其各组成部分将越有可能正确运行。那么,一旦出现了问题, 它们通常都可以被追溯为:是因不同的组成部分未能正确衔接而产生的非预期结果。

单元测试工具

Python 中有许多用于创建测试的工具。有一些测试工具,例如 pytest,是用来替代内置的 unittest 框架的。 其他的一些测试工具,如 nose 等都是用于简化测试的创建工作的扩展程序。需要注意的是,通过编写测试案例来对代码中的多个部分同时进行测试,这些工具也有许多可被用于 集成测试

  • unittest 是专门用于测试 Python 代码的内置标准库工具。

  • pytest 是一个完整的测试工具,它强调后向兼容性及最少化样板代码量。

  • nose 是一个 unittest 的扩展工具,它使得编写和执行测试案列更加简单。

  • Hypothesis 是一个单元测试生成工具,它会帮助开发人员创建用于检查代码块边边界条件的测试案例。 学习使用 Hypothesis 的最好途径就是去认真阅读这篇写得非常好的 快速入门

  • testify 是一个旨在替代 unittest+nose 组合的测试框架。 遗憾的是,testify 背后的开发团队正在转向 pytest,所以并不推荐你在新的项目中使用 testify。

单元测试相关的资源

还有什么你想要学习的测试知识呢?

我应该知道些什么样的代码度量特性?

我该如何测试我的 Python 代码呢?

我可以自动测试并部署我的应用吗?

#### 在这里注册以便每月能收到一份邮件资料,内容包含本站的主要更新、教程和 Python 书籍的打折码等。

The Full Stack Python Guide to Deployments 想找到一个完整的,一步一步的部署方案吗?请看《The Full Stack Python Guide to Deployments》.

邮件获取更新

##### 注册以便每月能收到一份邮件资料,内容包含本站的主要更新和 Python 教程。

目录

1. 简介学习编程为什么用 Python?Python 2 还是 3?企业 PythonPython CommunityBest Python Podcasts最佳 Python 资源最佳 Python 视频2. 开发环境VimEmacs3. 核心语言生成器推导式4. Web 开发Web 框架DjangoFlaskBottlePyramidMorepath其它 Web 框架Web 设计级联样式表 (CSS)JavaScriptWebSockets模板引擎Web 应用安全静态网站生成器Jinja25. 数据关系型数据库NoSQL 数据存储对象关系映射器PostgreSQLMySQLSQLite6. Web APIsAPI 集成API 的创建Twilio7. 部署服务器平台即服务(PaaS)操作系统Web 服务器WSGI 服务器源码控制应用程序依赖静态内容任务队列配置管理持续集成日志监控Web 分析Docker缓存微服务DevOpsNginxApache HTTP 服务器CaddyGreen Unicorn (Gunicorn)UbuntuPelicanLektorMkDocs8. 测试单元测试集成测试代码度量调试9. MetaBotsChange LogFuture DirectionsAbout the AuthorSQLAlchemyPeewee …或者显示全部目录内容.

单元测试

重要的更新内容会通过 Twitter 账号@fullstackpython发布。


需要更加详细的教程吗?请看 《The Full Stack Python Guide to Deployments》。

Chapters

1. 简介2. 开发环境3. 核心语言4. Web 开发5. 数据6. Web APIs7. 部署8. 测试 » 单元测试 9. Meta …or view the full table of contents.


This site is based on Matt Makai's project Full Stack Python, thanks for his excellent work!

此网站由 @haiiiiiyun开源爱好者们 共同维护。 若发现错误或想贡献,请访问: Github fullstackpython.cn 项目