Python twisted:测试我的服务';s停止序列

Python twisted:测试我的服务';s停止序列,python,unit-testing,twisted,trial,twisted.internet,Python,Unit Testing,Twisted,Trial,Twisted.internet,我们有一个复杂的多服务,需要在关闭时进行一些相当复杂的计算,以便实现“优雅”的关闭 我正在试着为这个写测试。问题是,反应堆实际上是一个过程全局资源,而关闭我的服务意味着试验的反应堆也被停止,这(当然)会导致它爆炸 这是,但我需要某种变通方法,允许我编写测试。我的第一个想法是使用a,但这意味着我们没有真正使用正在关闭的反应堆,这不会给我提供忠实于实际关闭过程的行为 我相信我需要的是一种方法,将试验的反应堆从我的试验服务反应堆中分离出来。在测试系统和被测系统之间共享可变资源肯定是一种反模式。关闭服务

我们有一个复杂的多服务,需要在关闭时进行一些相当复杂的计算,以便实现“优雅”的关闭

我正在试着为这个写测试。问题是,反应堆实际上是一个过程全局资源,而关闭我的服务意味着试验的反应堆也被停止,这(当然)会导致它爆炸

这是,但我需要某种变通方法,允许我编写测试。我的第一个想法是使用a,但这意味着我们没有真正使用正在关闭的反应堆,这不会给我提供忠实于实际关闭过程的行为


我相信我需要的是一种方法,将试验的反应堆从我的试验服务反应堆中分离出来。在测试系统和被测系统之间共享可变资源肯定是一种反模式。

关闭服务和停止反应堆是有区别的。您应该能够使用
myservice.stopService
测试大多数所需的行为。要测试实际启动关机的代码,只需使用
self.patch(reactor'stop',mock.mock())
模拟
reactor.stop
,然后断言调用了它。如果您想将两者链接起来,那么让您的模拟
stop
调用您的服务的
stopService