使用断言在单元测试中运行并行进程的最简单方法

时间:2016-11-09 21:40:16

标签: python unit-testing parallel-processing

我有一个我想编写的单元测试,这是为了检查同时运行的类的第二个实例是否无法获取锁定的文件。

class Foo(object):

    def bar(self):
        # get file lock

我希望能够做的是同时运行两个Foo.bar()个实例,能够断言错误会被提升。

目前我正在使用(尝试使用)线程,但它并没有引发异常。如果我尝试同时从命令行运行两个实例,那么我期望的错误会增加。

import threading
from nose.tools import assert_raises

thread1 = threading.Thread(target=Foo().bar)
thread2 = threading.Thread(target=Foo().bar)
thread1.start()
with assert_raises(RuntimeError):
    thread2.start()

有没有办法获得我想要的行为?

0 个答案:

没有答案