Python 测试同一类的多个实现

Python 测试同一类的多个实现,python,python-3.x,Python,Python 3.x,在模拟中,我有一个类a,它有一个成员变量,它是类B中的一个对象 我希望能够在决定最佳的B实现之前测试B的不同实现,并继续使用它。我可以想出两个选择: 在bimplements.py文件中放入不同的(唯一命名的)B类实现,并在a类(a.py)中将一个B类实现作为B导入。为了测试不同的实现,我只需更改A.py中的导入 将B的不同实现(都命名为B)与类A放在同一个文件中,只需注释掉未使用的实现 看起来更有原则性,但创建了更多的层次结构,并且知道最终我将放弃除一个实现之外的所有实现,有些事情似乎不正

在模拟中,我有一个类a,它有一个成员变量,它是类B中的一个对象

我希望能够在决定最佳的B实现之前测试B的不同实现,并继续使用它。我可以想出两个选择:

  • 在bimplements.py文件中放入不同的(唯一命名的)B类实现,并在a类(a.py)中将一个B类实现作为B导入。为了测试不同的实现,我只需更改A.py中的导入

  • 将B的不同实现(都命名为B)与类A放在同一个文件中,只需注释掉未使用的实现

  • 看起来更有原则性,但创建了更多的层次结构,并且知道最终我将放弃除一个实现之外的所有实现,有些事情似乎不正确。另一方面,2)看起来很糟糕,并且容易出现许多错误(更不用说一直注释和取消注释代码的负担了


  • 您认为最佳做法是什么?

    从我的外部观点来看,它看起来更干净,产生的错误更少(并允许您轻松跟踪更改)。但我更习惯于创建模拟数据和函数,并在另一个地方(有时甚至直接在控制台中)测试所有内容,以查看我最喜欢的内容,然后决定哪一个是最好的,并进行测试。我希望它能帮助你:)