代码之家  ›  专栏  ›  技术社区  ›  Johan Tuls

在unittest setUp和tearDown方法上使用MyPy

  •  0
  • Johan Tuls  · 技术社区  · 3 年前

    我想知道如何在单元测试代码上应用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和/或更改我的测试设置吗?

    0 回复  |  直到 3 年前