与调用 OS/模块级 python 函数的 Python 单元测试代码相关。在我的单元测试期间,我重载了一些 python 系统调用来让我的测试驱动模块的不同路径。这种技术称为 Monkey Patch(在相关问题中)用于单独测试。
我有点担心当我并行运行 Python 测试时会发生什么,比如在“鼻子”中。当两个测试并行运行并且都想模拟 os.path.exists 方法时会发生什么?
有没有办法在我的测试环境中选择性地覆盖系统或模块功能?
以以下为例
fixture.py (say that is the module under test)
def my_func():
some_stuff
test_fixture.py (say this is my test case)
class MyTest(unittest.TestCase):
def test_mine(self):
fixture.my_func = my_new_func
fixture.execute_some_func_that_calls_my_func()
#What happens if another test is executing at the same time and accesses
#my_func I don't want it to start executing my_new_func?