Как мне протестировать использование Mocks в Python?

Я вижу два разных подхода к внедрению макетов в код Python, которые я хочу протестировать :

  1. . Внедрение зависимостей:

    Разрешить передачу взаимодействующих классов в конструктор тестируемого объекта и передачу фиктивных объектов (и фабрик, где это необходимо, например Java )

  2. . Заплатка обезьяны:

    Заглушите взаимодействующие классы в тестируемом модуле с помощью фабрики фиктивных объектов (, чтобы создание сотрудничающих классов фактически создавало фиктивный объект ). Мне не нужно разрешать их вводить через конструктор или создавать какие-либо фабрики.

Оба эти подхода поддерживаются библиотеками имитации Python (, например, mox или mock ).. Какой подход я должен использовать в Python, является ли один из них разумным или есть лучший подход?

9
задан lexicalscope 12 July 2012 в 10:53
поделиться