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

matplotlibpythondata visualization

要针对代码编写单元测试用例,我们可以考虑一个以数组为 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 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

相关文章