如何写针对使用Matplotlib的代码的单元测试?

如何写针对使用Matplotlib的代码的单元测试?

为了编写针对代码的单元测试用例,我们可以考虑绘制一个将数组作为x点并绘制为 y=x^2 的图。在测试时,我们将提取x数据点的 y_data

步骤

  • 创建一个方法,即 plot_sqr_curve(x) , 用 plot() 方法绘制x和x^2,并返回绘图。
  • 进行测试,使用 unittest.TestCase.
  • 编写包含以下语句的 test_curve_sqr_plot() 方法。
    • 为x创建数据点以绘制曲线。
    • 使用上述x数据点,创建y数据点。
    • 使用x和y数据点绘制曲线。
    • 使用pt(来自步骤5),提取x和y数据。
    • 检查给定表达式是否为真。

示例

import unittestimport numpy as npfrom matplotlib import pyplot as pltdef plot_sqr_curve(x):"""
用线绘制y = x^2的曲线。
"""return plt.plot(x, np.square(x))class TestSqrCurve(unittest.TestCase):
def test_curve_sqr_plot(self):x = np.array([1, 3, 4])y = np.square(x)pt, = plot_sqr_curve(x)y_data = pt.get_data()[1]x_data = pt.get_data()[0]self.assertTrue((y == y_data).all())self.assertTrue((x == x_data).all())if __name__ == '__main__':unittest.main()

输出

在1.587秒内运行了1个测试
OK

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程