gpt4 book ai didi

python - 运行单元测试时关闭图表

转载 作者:太空狗 更新时间:2023-10-29 21:30:38 26 4
gpt4 key购买 nike

我正在使用 unittest 库测试我的模块。这包括使用 matplotlib 库绘制一些图表。目前的问题是每次绘制图表时测试都会暂停,并且只有在我关闭图表后才会恢复。我怎样才能避免这种情况?

最佳答案

我将根据 matplotlib 教程中的简单示例代码来模拟我的答案:http://matplotlib.org/users/pyplot_tutorial.html

假设我们有以下模块 plot_graph.py 需要测试:

import matplotlib.pyplot as plt

def func_plot():
plt.plot([1,2,3,4])
plt.ylabel('some numbers')
plt.show()

if __name__ == "__main__":
func_plot()

show 的调用可以按如下方式修补:

from plot_graph import func_plot
from unittest.mock import patch

@patch("plot_graph.plt.show")
def test_plot(mock_show):
assert func_plot() == None

如您所见,您应该修补对 pyplot.show() 的调用。您可以在文档中找到有关修补和模拟的更多信息:https://docs.python.org/3/library/unittest.mock.html .

通常关于在哪里打补丁的部分非常有用:https://docs.python.org/3/library/unittest.mock.html#where-to-patch

网站上终于有类似的问题了:How to run nosetests without showing of my matplotlib's graph?

关于python - 运行单元测试时关闭图表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42996199/

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