Допустим, я использую фреймворк с классом 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, могли бы дать мне несколько советов.Реальная проблема, с которой я сталкиваюсь, связана с общими взглядами Джанго.
Например, у меня может быть это представление шаблона:
class HomeView(TemplateView):
template_name = 'home.html'
Должен ли я просто проверить, имеет ли значение template_name правильное значение, или использовать тестовый клиент для выполнения теста более высокого уровня для проверкиполный вид?