我正在为作为HTTP服务器运行的应用程序的一部分编写单元测试。我一直在尝试的方法是导入包含HTTP服务器的模块,然后启动它。然后,单元测试将使用urllib2连接、发送数据并检查响应。在
我们的HTTP服务器正在使用Twisted。这里的一个问题是我对Twisted不太熟悉:)
现在,我实例化我们的HTTP服务器并在setUp()方法中启动它,然后在tearDown()方法中停止它。在
问题是,Twisted看起来不像这样,它只运行一个单元测试。第一次之后,反应堆就不能再启动了。在
我找了又找,但似乎找不到一个有意义的答案。在
我是完全错误的做法,还是只是遗漏了一些显而易见的东西?在
以下是一些信息:Writing tests for Twisted code using Trial
您还应该查看试用命令的帮助。审判中有很多好东西!但是在异步应用程序中进行测试并不总是容易的。祝你好运!在
我认为对于Twisted中的单元测试,应该使用TwistedTrial(它是一个核心组件,即Twisted/trial目录中的Twisted tarball)。然而,正如我所指的URL所说,doc主要是通过查看源代码(包括各种Twisted项目的源代码,因为它们也经过了试用测试)。在
正如其他人提到的,您应该在Twisted中使用Trial进行单元测试。在
你也应该自下而上进行单元测试——这就是单元测试中的“单元”的含义。在测试接口之前测试数据和逻辑。对于HTTP接口,您应该使用模拟请求调用processGET、processPOST等,但只有在测试了这些方法调用的内容之后才能执行此操作。每次测试都应假设在别处测试的单元按设计工作。在
如果您正在使用HTTP,或者您需要一个正在运行的服务器或其他状态,那么您可能正在进行更高级别的测试,例如功能测试或集成测试。这不是一件坏事,但你可能想重新措辞你的问题。在
相关问题 更多 >
编程相关推荐