gpt4 book ai didi

python - 如何删除 py.test 中的持久对象?

转载 作者:行者123 更新时间:2023-11-28 20:54:59 25 4
gpt4 key购买 nike

以下是我使用 py.test 运行的测试:

def test_config1():
_config_file1 = "some_file_1.cfg"
sim1 = Simulator(_config_file1)
sim1.run()
assert sim1.a == 4

def test_config2():
_config_file2 = "some_file_2.cfg"
sim2 = Simulator(_config_file2)
sim2.run()
assert sim2.a == 14

sim1 创建了一些对象,即使当 sim1 超出范围并且 sim2 的模拟已经开始时,这些对象仍然存在于内存中。我如何确保在 sim2 启动之前删除这些对象。我曾尝试将测试放在不同的文件中,但我假设 py.test 在同一进程中运行它们,因为 sim1 创建的那些对象会持续存在并导致 sim2 提供错误的结果。如果测试顺序颠倒,则 sim2 可以正常运行,但 sim1 则不能。

一种方法是编写 sim1 的析构函数,删除它创建的所有对象。有没有其他方法可以删除 py.test 中的持久对象?

最佳答案

创建一个在每次测试开始前调用的 setUp() 或 tearDown() 方法,并删除持久对象。

关于python - 如何删除 py.test 中的持久对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28063062/

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