【问题标题】:Unit Testing for a Python RESTful APIPython RESTful API 的单元测试
【发布时间】:2015-07-30 09:49:54
【问题描述】:

在 Python 中对包含电子邮件功能(丢失密码、用户激活)的 RESTful API 执行单元测试的最佳方法是什么?

一切都通过 HTTP POST / GET 完成,此时不涉及身份验证。

我应该只使用requests 库并手动完成我想要的一切吗?是否可以使用requests 来自动化我的单元测试中涉及电子邮件的部分?

【问题讨论】:

  • 您应该首先对您的处理程序进行单元测试,而不需要 HTTP 开销。其他一切都不是真正的单元测试,而是某种集成测试。
  • 如果你使用http,它不是单元测试。一般来说,如果你测试一个单独的类以外的任何东西,在一个休息 api 的情况下,所有的 url 路由、数据处理——它不是一个单元测试。

标签: python rest api unit-testing python-requests


【解决方案1】:

您用于实现 REST api 的 Web 框架通常也会提供单元测试支持。例如:

这些测试类是直接将请求插入框架的 Url 调度程序的快捷方式。这样就省去了寻找空闲端口、生成“真实”服务器和连接单元测试中的 http 客户端的麻烦。

至于电子邮件发送:我会在TestCase.setUp 方法中模拟该部分。只需将对电子邮件发送模块/类的引用更改为另一个模块/类,它将传出的电子邮件循环回单元测试以进行评估而不是发送电子邮件。

【讨论】:

猜你喜欢
  • 2011-09-17
  • 1970-01-01
  • 2014-02-20
  • 2019-02-25
  • 1970-01-01
  • 2020-03-12
  • 1970-01-01
  • 2011-10-30
  • 1970-01-01
相关资源
最近更新 更多