首页 > 解决方案 > 在 unittest setUp 和 tearDown 方法上使用 MyPy

问题描述

我想知道如何将 mypy 应用于单元测试代码。情况:

class TestPoint(unittest.TestCase):
    def setUp(self) -> None:
        self.point_origin = Point(0, 0, 0, name="origin")

    def tearDown(self) -> None:
        self.point_origin = None

    def test_point_coordinates(self) -> None:
        self.assertIsInstance(self.point_origin.x, (float, int))
        self.assertIsInstance(self.point_origin.y, (float, int))
        self.assertIsInstance(self.point_origin.z, (float, int))

这导致:

tests\test_geometry.py:114: error: Incompatible types in assignment (expression has type "None", variable has type "Point")

现在我可以在代码中修复这个问题以检查是否self.point_origin等于无,但重点是在每次测试之前拆除这些字段。

我应该跳过测试文件中的 mypy 吗?还是有更好的方法将 mypy 应用于测试代码和/或更改我的测试设置?

标签: pythonunit-testingmypy

解决方案


推荐阅读