我有一个我想编写的单元测试,这是为了检查同时运行的类的第二个实例是否无法获取锁定的文件。
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()
有没有办法获得我想要的行为?