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

要针对代码编写单元测试用例,我们可以考虑将数组作为 x 点并将其绘制为y=x^2 的图。在测试中,我们将提取y_data为X数据points.-

步骤

  • 创建一个方法,即plot_sqr_curve(x)使用plot()方法绘制 x 和 x^2并返回绘图。

  • 要进行测试,请使用unittest.TestCase。

  • test_curve_sqr_plot()包含以下语句的Write方法。

    • 为 x 创建数据点以绘制曲线。

    • 使用上述 x 个数据点,创建 y 个数据点。

    • 使用 x 和 y 数据点绘制曲线。

    • 使用 pt(来自步骤 5),提取 x 和 y 数据。

    • 检查给定的表达式是否为真。

示例

import unittest
import numpy as np
from matplotlib import pyplot as plt
def plot_sqr_curve(x):
   """
   Plotting x points with 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()
输出结果
Ran 1 test in 1.587s
OK