0
내 라이브러리에서 메시징 응답을 테스트하려고합니다.unittest로 zmq 소켓 테스트
import unittest
from time import sleep
import zmq
from vexbot.messaging import Messaging
class TestMessaging(unittest.TestCase):
def setUp(self):
self.subscribe_address = 'tcp://127.0.0.1:4006'
self.publish_address = 'tcp://127.0.0.1:4007'
self.settings = {'subscribe_address': self.subscribe_address,
'publish_address': self.publish_address}
context = zmq.Context()
self.messaging = Messaging(self.settings, context)
self.test_publish_socket = context.socket(zmq.PUB)
self.test_publish_socket.connect(self.publish_address)
self.test_subscribe_socket = context.socket(zmq.SUB)
self.test_subscribe_socket.connect(self.subscribe_address)
self.test_subscribe_socket.setsockopt_string(zmq.SUBSCRIBE, '')
sleep(1)
내 문제는 내가 대신 한 번 setUp
함수를 호출 한 번 상태를 설정하는, 위 클래스의 시험 방법을 선언 할 때, 모든 시험 방법은 시도 setUp
가 자신의 상태의 설정 회상과 주소가 이미 가지고있다 첫 번째 인스턴스에 의해 방해 받았다.
unittest
이 작동하는 방식으로 다중 프로세스 문제를 해결하려면 어떻게합니까? 테스트 목적으로 랜덤 소켓을 호출하는 것이 더 좋을까요?
한 번만 호출 한 다음 생성자에 넣기를 원하면 setUp의 목적은 각 테스트 전에 실행하는 것입니다. – Dan
하하, 그건 훨씬 더 의미가 있습니다. 그러나 테스트는 여전히 동시에 실행됩니다. 맞습니까? –
예 그들은 항상 병렬로 실행됩니다. – Dan