gpt4 book ai didi

python - 运行多个测试会在使用 @mock.patch.object 打补丁时干扰 nosetests,有时也会在使用 `with mock.patch.object` 时干扰

转载 作者:太空狗 更新时间:2023-10-30 01:25:59 28 4
gpt4 key购买 nike

我在使用@mock.patch.object 函数时观察到 nosetests 的一个非常奇怪的行为:

当我同时运行多个测试时,我得到的结果与单独运行它们时不同。具体来说,在某些情况下,当我一起运行多个 nosetests 时,@mock.patch.object 的覆盖似乎没有效果。当我用 with 应用补丁时,这个问题没有发生。

@patch.object(ObjectToOverride,....)
def test_mytest()
# check the override

使用with方法打补丁时,后续测试不受之前测试的影响。

def test_mytest()
with patch.object(ObjectToOverride,....):
# check the override

感谢任何可能导致此行为的建议。

当我运行多个测试时,ObjectToOverride 将被之前的测试加载和使用。但是我不明白为什么使用 with 或 decorator 会影响对象是否仍然可以在之后进行修补。

在这两种情况下,我都可以观察到测试之间存在一些干扰。如何在 nosetest 中避免这种情况?

最佳答案

问题似乎与抛出错误的测试有关。之后补丁没有被正确拆除。

关于python - 运行多个测试会在使用 @mock.patch.object 打补丁时干扰 nosetests,有时也会在使用 `with mock.patch.object` 时干扰,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47473021/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com