Python RESTful API 的单元测试
Unit Testing for a Python RESTful API
在 Python 中对包含电子邮件功能(丢失密码、用户激活)的 RESTful API 执行单元测试的最佳方法是什么?
一切都通过 HTTP POST / GET 完成,此时不涉及身份验证。
我是否应该只使用 requests
库并手动完成我想做的一切?是否可以使用 requests
来自动化涉及电子邮件的单元测试部分?
您用来实现 REST api 的 Web 框架通常也会提供单元测试支持。例如:
- 烧瓶:http://flask.pocoo.org/docs/latest/testing/
- Django: http://django-testing-docs.readthedocs.org/en/latest/views.html
这些测试 classes 是将请求直接插入框架的 Url 调度程序的快捷方式。这为您节省了寻找空闲端口、生成 "real" 服务器并从单元测试连接 http 客户端的麻烦。
至于电子邮件发送:我会在 TestCase.setUp
方法中模拟这部分。只需将对电子邮件发送模块 / class 的引用更改为另一个 module/class,它将外发电子邮件循环回单元测试以进行评估而不是发送电子邮件。
在 Python 中对包含电子邮件功能(丢失密码、用户激活)的 RESTful API 执行单元测试的最佳方法是什么?
一切都通过 HTTP POST / GET 完成,此时不涉及身份验证。
我是否应该只使用 requests
库并手动完成我想做的一切?是否可以使用 requests
来自动化涉及电子邮件的单元测试部分?
您用来实现 REST api 的 Web 框架通常也会提供单元测试支持。例如:
- 烧瓶:http://flask.pocoo.org/docs/latest/testing/
- Django: http://django-testing-docs.readthedocs.org/en/latest/views.html
这些测试 classes 是将请求直接插入框架的 Url 调度程序的快捷方式。这为您节省了寻找空闲端口、生成 "real" 服务器并从单元测试连接 http 客户端的麻烦。
至于电子邮件发送:我会在 TestCase.setUp
方法中模拟这部分。只需将对电子邮件发送模块 / class 的引用更改为另一个 module/class,它将外发电子邮件循环回单元测试以进行评估而不是发送电子邮件。