2013-12-11 49 views
14

我一直在寻找PEP 8 -- Style Guide for Python CodePEP8 -- Advanced Usage以获取如何命名我的测试类的线索。但是,这两个站点以及我查看过的许多其他站点(如Python文档中的unittest页面)都从未提及过这一点。我看到的唯一一贯的风格是“CapWords”。在unittest文档中,他们有TestSequenceFunctions和DefaultWidgetSizeTestCase的例子。PEP8测试类的命名约定

我想知道的是使用“名称”测试还是测试“名称”。方法使用test_“名称”,这几乎成立。关于课程,我正在努力寻找一个会议,如果有一个。

希望论坛对此有所帮助。

回答

9

documentation for unittest建议,例如:

class TestSequenceFunctions(unittest.TestCase): 

    def test_shuffle(self): 
     ... 

    def test_choice(self): 
     ... 

评论

三个单独的测试与他们的名字开始以字母test方法来定义。这个命名约定告诉测试运行者哪些方法代表测试。

+0

谢谢。测试自己不是一个问题,否则单元测试不会提取它们。 – musabaloyi

3

Django和SQLAlchemy是两个大型的流行Python项目,它们都使用“名称”测试。就个人而言,我更喜欢测试“名称”,主要是因为当一个文件中有多个测试用例时,每个用“测试”开始都会使得扫描变得困难。

不是说这等于一个共识,只有两个重要的数据点和一个个人观察。

+1

谢谢。我同意你的推理。 – musabaloyi