我正在尝试以一种良好的面向对象的方式设计和测试类似于以下代码的代码吗?(或以Python方式?)
这是一个工厂类,它决定一个人的名字是长还是短:
class NameLengthEvaluator(object):
def __init__(self, cutoff=10)
self.cutoff = cutoff
def evaluate(self, name):
if len(self.name) > cutoff:
return 'long'
else:
return 'short'
这是一个对自己的名字长度有意见的人类:
class Person(object):
def __init__(self, name=None, long_name_opinion=8):
self.name = name
def name_length_opinion(self):
return 'My names is ' + \
NameLengthEvaluator(long_name_opinion).evaluate(self.name)
几个问题:
该Person
方法是否name_length_opinion()
值得进行单元测试,如果可以,它将是什么样?
通常,是否有一种很好的方法来测试具有完全外部功能的类的简单方法?
似乎对该方法的任何测试都只会重述其实现,并且该测试只是为了确认没有人触摸代码而存在。
RISEBY
偶然的你
相关分类