【发布时间】:2016-10-15 05:35:40
【问题描述】:
我有一个非常简单的测试夹具,可以在不同的线程中实例化和关闭一个测试类“APMSim”,该类不可提取,所以我必须使用多处理 Pool.imap 来避免它们在进程之间传输:
class APMSimFixture(TestCase):
def setUp(self):
self.pool = multiprocessing.Pool()
self.sims = self.pool.imap(
apmSimUp,
range(numCores)
)
def tearDown(self):
self.pool.map(
simDown,
self.sims
)
def test_empty(self):
pass
但是,当我运行空的 Python unittest 时,我遇到了以下错误:
Error
Traceback (most recent call last):
File "/home/peng/git/datapassport/spookystuff/mav/pyspookystuff_test/mav/__init__.py", line 87, in tearDown
self.sims
File "/usr/lib/python2.7/multiprocessing/pool.py", line 251, in map
return self.map_async(func, iterable, chunksize).get()
File "/usr/lib/python2.7/multiprocessing/pool.py", line 567, in get
raise self._value
为什么会发生这种情况?有解决办法吗?
【问题讨论】:
标签: python python-2.7 python-multiprocessing python-unittest