我编写了一个小型代理实用程序(tcp端口转发器),现在正在尝试测试它。
所以我的测试:def test_forwarding(self):
route = self.config.routes[0]
q = multiprocessing.JoinableQueue()
proc_listen = multiprocessing.Process(
target=lambda q: q.put(str(
subprocess.Popen(["nc", "-l", str(route.sink[1])], stdout=subprocess.PIPE, shell=False).communicate()[0])),
args=(q,))
proc_listen.start()
proc_write = multiprocessing.Process(
target=lambda: subprocess.Popen("nc %s %s < ~/Workshop/port-forwarder/tests/test_data.txt" % route.source,
stdout=subprocess.PIPE, shell=True))
proc_write.start()
proc_write.join(3)
proc_write.terminate()
proc_listen.join(3)
proc_listen.terminate()
q.join()
self.assertEqual(open("test_data.txt", 'r').readline(), q.get())
但是在assert中对get()调用进行测试。把所有的事情都搞砸了。任何帮助都将不胜感激。在