如何针对使用 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