python - Twisted 中的单元测试客户端-服务器交互

标签 python unit-testing twisted

在我最新的 Python 项目中,利用 Twisted,我试图善于使用 unittest 模块。在高层次上,我正在构建两个专门设计用于相互通信的 RESTful API。对于大多数请求,我可以只使用 DummyRequest 并根据预期常量测试呈现的值,并且效果很好。

但是,我遇到过一些情况,其中设计需要在一台服务器上发出请求(除其他事项外)然后将请求发送到另一台服务器,但并不真正关心响应。重要的是请求发生了。

就像我说的,我可以在另一端完美地测试该功能,但我对如何测试以确保数据已发送过来感到困惑。到目前为止,我的想法是

  • 设置一个虚拟测试服务器,只检查请求是否发出并验证输入 - 看起来不稳定且需要太多努力
  • 设置一个装饰器来包装某些测试并修改 urllib.urlopen 以报告它何时被调用,我们试图检索什么,并允许我在那里简单地返回一个已知结果。

我倾向于第二种选择,因为它看起来更 pythonic,但也有点 hacky。

想法?

最佳答案

Twisted 带有自己的单元测试框架,称为 Trial。正如您想象的那样,它非常适合测试您的网络代码。 Here's a tutorial to start you off.

关于python - Twisted 中的单元测试客户端-服务器交互,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9798910/

相关文章:

python - 如何实现高速、一致的采样?

python - twisted - 获取操作系统选择的监听端口

Python 翻译 C saxpy

python - 如何在不调用函数的情况下获取函数的属性

在基类中使用 TestInitialize/TestCleanup 进行 C# 单元测试

c# - 单元测试: Raise Event From Nested Type

visual-studio-2010 - 单元测试的测试文件放在哪里

python - 通过扭曲的 inlineCallbacks 运行 Scrapy 蜘蛛

python - 在 Python3 上扭曲 : Install fails with a series of "File Not Found" errors

python - HTTP实时音频流服务器