我有一个项目,其中只有验收测试代码是Python,我想确保我已正确输入注释。目前测试运行如下:
python -m unittest discover test
有没有办法将mypy
集成到该命令中而不需要太多改动?我宁愿不再进行两次测试。我是否必须覆盖unittest.TestLoader
才能执行此操作?
或者,mypy
确实支持使用-m
/ --module
运行模块,但mypy --module=unittest discover test
失败,
mypy:error:只能指定以下之一:module,package,files或command。
有没有办法将模块参数传递给mypy
?
答案 0 :(得分:1)
mypy根本不运行Python代码。它严格来说是一个静态分析程序。所以没有"运行[ning]测试两次"在这种情况下。也就是说,您不必等待测试运行才能从mypy获得结果。只需在测试包或模块上运行mypy就像使用非测试代码一样(对于简单的情况,mypy test_foo.py
,对于更复杂的情况,请参阅the mypy documentation)。