Python中测试文件的最佳命名规范是什么?
我在寻找一个适合Python测试文件的命名规则,这样可以方便使用不同的测试框架(比如unittest、note、pyunit等),而且也能让这些工具更容易找到测试。
我只是想要一套简单明了的建议,这样工具的配置就能最少。
- 测试文件夹的名字用什么好?是用
test
还是tests
? - 测试放在哪里比较好?是在模块的测试文件夹里,还是在模块的上一级测试文件夹里?
- 测试文件名用下划线还是连字符?是用test_0.py还是test-0.py?
我知道,我可能闲得太久了 :)
2 个回答
2
这要看你使用什么工具来运行测试。
如果你使用的是 nosetest,那么它检测测试的方式很简单:
关于“测试放在哪里”的问题,我个人更喜欢把测试放在每个包的子目录里,这样可以确保在有人编辑代码时,不会忘记运行或查看测试;)
26
不要把目录命名为 test
,否则会和内置的 test
包发生冲突。
命名规则可以参考 PEP 8 的“命名约定”部分。用下划线比用连字符要好!
你的包的结构可以稍微灵活一些。我通常会这样做:
package
|-- package
| |-- __init__.py
| `-- <etc>
|-- tests
| `-- <etc>
|-- setup.py
|-- README
|-- LICENCE
`-- <etc>
这样做可以把测试和包本身分开。通过使用 setup.py 安装包时,可以只安装源代码,这样可以保持用户的环境整洁。测试是给需要它们的开发者用的,当他们获取包的源代码时可以用到。
想了解更多关于 Python 包的信息,可以查看 《打包指南》。