Python扭曲和单元测试

2024-04-27 00:05:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在为作为HTTP服务器运行的应用程序的一部分编写单元测试。我一直在尝试的方法是导入包含HTTP服务器的模块,然后启动它。然后,单元测试将使用urllib2连接、发送数据并检查响应。在

我们的HTTP服务器正在使用Twisted。这里的一个问题是我对Twisted不太熟悉:)

现在,我实例化我们的HTTP服务器并在setUp()方法中启动它,然后在tearDown()方法中停止它。在

问题是,Twisted看起来不像这样,它只运行一个单元测试。第一次之后,反应堆就不能再启动了。在

我找了又找,但似乎找不到一个有意义的答案。在

我是完全错误的做法,还是只是遗漏了一些显而易见的东西?在


Tags: 模块实例方法答案服务器应用程序httpsetup
3条回答

以下是一些信息:Writing tests for Twisted code using Trial

您还应该查看试用命令的帮助。审判中有很多好东西!但是在异步应用程序中进行测试并不总是容易的。祝你好运!在

我认为对于Twisted中的单元测试,应该使用TwistedTrial(它是一个核心组件,即Twisted/trial目录中的Twisted tarball)。然而,正如我所指的URL所说,doc主要是通过查看源代码(包括各种Twisted项目的源代码,因为它们也经过了试用测试)。在

正如其他人提到的,您应该在Twisted中使用Trial进行单元测试。在

你也应该自下而上进行单元测试——这就是单元测试中的“单元”的含义。在测试接口之前测试数据和逻辑。对于HTTP接口,您应该使用模拟请求调用processGET、processPOST等,但只有在测试了这些方法调用的内容之后才能执行此操作。每次测试都应假设在别处测试的单元按设计工作。在

如果您正在使用HTTP,或者您需要一个正在运行的服务器或其他状态,那么您可能正在进行更高级别的测试,例如功能测试或集成测试。这不是一件坏事,但你可能想重新措辞你的问题。在

相关问题 更多 >