0
我嘗試測試服務器,並希望將其打印輸出在這裏的測試不能打印與子進程運行Python腳本的輸出
class TestHandler(TestCase):
def setUp(self):
cmd = [
'python', '-m', 'server',
'-f', write_to_path,
'--debug'
]
self.server = Popen(cmd, universal_newlines=True, cwd=root_dir_path,
stdout=PIPE, stderr=PIPE)
# also tried this, did not help
# cmd = [
# 'python -m server --debug -f ' + write_to_path
# ]
# self.server = Popen(cmd, shell=True, universal_newlines=True, cwd=root_dir_path,
# stdout=PIPE, stderr=PIPE)
def tearDown(self):
try:
outs, errs = self.server.communicate(timeout=2)
print(outs, errs)
except TimeoutExpired:
print("kill")
self.server.kill()
outs, errs = self.server.communicate()
print(outs, errs) # empty output here
def testWordWithoutParent(self):
pass
末當我運行它,stdout和犯錯是空的,但服務器代碼被執行(與PDB我測試了它的主要功能在服務器/ __ main__.py)
~/Documents/LINGUALEO/lingualeo2anki $ python -m unittest
.kill
.
----------------------------------------------------------------------
Ran 2 tests in 2.006s
OK
我試過stackowerflow將近3小時,沒有他很多答案我放棄了。