12

在编写测试时,我通常以test_例如spam.py和为前缀命名模块test_spam.py。这使得查找测试变得容易。在模块中测试类时,我创建了一个unittest.TestCase具有相似类名的派生类,后缀为Test. 例如Spam变成SpamTest(不像TestSpam这听起来像是 的测试实现Spam)。test_然后类函数由前缀和后缀_testcondition或其他描述性后缀的测试函数测试。我发现这非常有效,因为包含了原始对象名称。

当我想测试模块级功能时会出现问题。按照我的常规结构,我将创建一个unittest.TestCase与函数同名的导数,后缀为Test. 这样做的问题是类名是驼峰式的,而函数名是小写的,用下划线分隔单词。忽略命名约定some_function变成SomeFunctionTest. 我不禁觉得这很丑陋。

什么会更合适?什么是普遍做法?有没有像 pep8 这样的“标准”?你用什么?

4

1 回答 1

6

你这样做的方式是最干净的方法 - 只要有一个明确的位置,人们希望找到一个模块级功能的测试,那么我认为你很好。函数名称和测试类名称之间的风格差异——尽管令人烦恼——并不足以让人担心。

于 2015-01-04T20:42:03.143 回答