编写测试时,我通常将前缀为test_
的模块命名为spam.py
和test_spam.py
。这使得查找测试变得容易。在模块中测试类时,我创建了一个具有类似类名的unittest.TestCase
派生词,后缀为Test
。例如Spam
变为SpamTest
(而不是TestSpam
,因为这听起来像是Spam
的测试实现。然后,类函数由测试函数测试,这些函数以test_
为前缀,后缀为_testcondition
或其他一些描述性后缀。我发现这很有效,因为包含了原始对象名称。
当我想测试模块级功能时会出现问题。按照我的常规结构,我将创建一个与函数同名的unittest.TestCase
导数,后缀为Test
。这样做的问题是类名称是驼峰式的,函数名称是低位的,带有下划线来分隔单词。忽略命名约定some_function
变为SomeFunctionTest
。我忍不住觉得这很难看。
什么是更合适?什么是常见做法?是否有类似pep8的'标准'?你用什么?
答案 0 :(得分:3)
你这样做是最干净的方法 - 只要有一个明确的位置,人们就会期望找到模块级功能的测试,那么我认为你很好。函数名称和测试类名称之间的风格差异 - 尽管令人烦恼 - 并不足以让人担心。