【发布时间】:2019-01-07 11:10:16
【问题描述】:
我想编写一些测试,以对从父级继承的所有类执行。
例如,我有两个专业的电机类:
class Motor():
def run(self, energy):
pass
class ElectricMotor(Motor):
def run(self, electric_energy):
heat = electric_energy * 0.99
motion = electric_energy * 0.01
return heat, motion
class DieselMotor(Motor):
def run(self, diesel_energy):
heat = diesel_energy * 0.65
motion = diesel_energy * 0.35
return heat, motion
然后我有两个测试适用于每种电机:
class MotorTest(unittest.TestCase):
def test_energy_should_be_conserved():
for class_instance in all_motor_child_classes:
energy=10
assert sum(class_instance.run(energy))==energy
energy=20
assert sum(class_instance.run(energy))==energy
def test_motors_should_produce_heat():
for class_instance in all_motor_child_classes:
energy = 10
heat, motion=class_instance.run(energy)
assert heat>0
我正在寻找的是一种循环方式
for class_instance in all_motor_child_classes:
或不同的编程模式来获得相同的结果。
有什么想法吗? 谢谢 里卡多
【问题讨论】:
标签: python python-3.x unit-testing testing multiple-inheritance