【发布时间】:2011-04-19 20:03:56
【问题描述】:
假设我正在使用一个框架,该框架有一个名为 Animal 的类。
class Animal(object):
def speak(self):
logging.info(self.sound)
我必须继承这个对象才能使用它,它可能看起来像这样:
class Dog(Animal):
def __init__(self):
self.sound = 'Woof Woof'
在我看来,我可以做两件事。第一个是这样的:
dog = Dog()
assert dog.sound == 'Woof Woof'
第二个选项是模拟 logging.info 并检查它是否被调用。我对他们俩的感情很复杂。
第一个感觉就像我只是在测试我的配置,而第二个感觉就像我实际上并没有测试我想要的对象。
我正在使用这个简单的示例,因为也许不使用 Django 的人可以给我一些指示。我遇到的真正问题涉及 Django 通用视图。
例如我可以有这个模板视图:
class HomeView(TemplateView):
template_name = 'home.html'
我是只测试 template_name 是否具有正确的值,还是使用测试客户端进行更高级别的测试来测试完整的视图?
【问题讨论】:
标签: python django unit-testing tdd