我正在寻找python测试文件的最佳命名约定,以便于使用不同的测试框架(unittest,note,pyunit,...),并且这些工具的测试自动发现也很友好。
我只是想要一套清晰的重新设定,这需要最少的工具配置。
test
或tests
?我知道,我有太多时间:)
答案 0 :(得分:15)
不要调用目录test
,否则会与内置的test
包冲突。
命名约定在PEP 8中定义。请参阅“命名约定”部分。下划线比连字符更好!
您的包的布局更灵活一些。我倾向于做以下事情:
package
|-- package
| |-- __init__.py
| `-- <etc>
|-- tests
| `-- <etc>
|-- setup.py
|-- README
|-- LICENCE
`-- <etc>
这使测试与包本身分开。使用setup.py安装软件包可以只安装源代码,这可以使人们的解释器保持整洁。对于那些在获得包源时需要它们的开发人员,可以使用这些测试。
您应该查看The Hitch Hiker's Guide to Packaging以获取有关Python包的更多信息。
答案 1 :(得分:1)
这取决于您用来运行测试的工具。
如果您使用的是nosetest,那么用于检测测试的原则非常简单:
如果您使用的是py.test,则约定为pretty open too。
关于“在哪里放测试”的问题,personnaly,我更喜欢将测试存储在每个包的子目录中,以确保在有人编辑代码时不会忘记运行/触摸测试;)