Python中测试文件的最佳命名约定是什么?
我正在寻找python测试文件的最佳命名约定,该约定可以简化不同测试框架(unittest、note、pyunit等)的使用,并且对这些工具的测试自动发现非常友好 我只是想要一个清晰的重新编译集,它需要对工具进行最少的配置Python中测试文件的最佳命名约定是什么?,python,unit-testing,Python,Unit Testing,我正在寻找python测试文件的最佳命名约定,该约定可以简化不同测试框架(unittest、note、pyunit等)的使用,并且对这些工具的测试自动发现非常友好 我只是想要一个清晰的重新编译集,它需要对工具进行最少的配置 测试目录名测试或测试 把测试放在哪里?在模块/testdir或模块/./testdir中 使用下划线或破折号测试文件名?测试0.py或测试-0.py 我知道,我有太多时间:)不要调用目录test,否则它将与内置的test包冲突 命名约定在中定义。请参阅“命名约定”部分。下
- 测试目录名<代码>测试或
测试
- 把测试放在哪里?在模块/testdir或模块/./testdir中
- 使用下划线或破折号测试文件名?测试0.py或测试-0.py
我知道,我有太多时间:)不要调用目录
test
,否则它将与内置的test
包冲突
命名约定在中定义。请参阅“命名约定”部分。下划线比连字符好
包的布局更灵活一些。我倾向于做以下几点:
package
|-- package
| |-- __init__.py
| `-- <etc>
|-- tests
| `-- <etc>
|-- setup.py
|-- README
|-- LICENCE
`-- <etc>
包
|--包装
||--uuu init_uuuuuuuuuuuuuuuuuy.py
| `--
|--测验
| `--
|--setup.py
|--自述
|--执照
`--
这使得测试与包本身分离。使用setup.py安装包可以只安装源代码,这可以保持人们的解释器整洁。这些测试是为那些在获得包源代码时需要它们的开发人员准备的
您应该查看Python软件包的更多信息。这取决于您运行测试所使用的工具 如果使用,用于检测测试的原理非常简单: 如果您正在使用,则约定为
关于“将测试放在哪里”的问题,personnaly,我更喜欢将测试存储在每个包的子目录中,以确保在有人编辑代码时不会忘记运行/触摸测试;) 谢谢!只有一个子问题:如果我有几个子模块,这意味着我必须在同一个目录中组合所有测试,该怎么办?或者我应该只将它们移动到子目录,如
/tests/a/
?在这一点上,您可以选择任何一种方式。Django使用了我提到的方法,我认为很多人至少把它们放在了一个地方。然而,Django应用程序的测试遍布各处,我相信很多人也是这样做的。我倾向于将测试分散在一个地方(无论是在源代码内部还是外部),但我想不出一个强有力的论据可以给你任何一种方式:)将测试保留在单独目录中的论据完全依赖于美学。我同意@adamnfish的观点,将它们分别放在一个反映代码的目录结构中——这样,人们就更容易找到要运行的特定测试(就像我在开发过程中一直做的那样)。但是,如果您倾向于更改项目结构(添加和删除模块/文件),您可能会错过更新测试,但是您会看到失败,所以您会知道!“-”在Python中会产生问题,因为它违反了将文件名映射到模块名的规则。切勿将有效的Python标识符以外的任何内容用作Python文件名的一部分。