Когда я должен издеваться?
Модульный тест должен проверять mocking-framework один кодовый путь с помощью mock одного метода. Когда выполнение unittest метода проходит за пределами unittest этого метода, в другой объект unittest и обратно, у вас есть зависимость.
Когда unittest вы тестируете этот путь кода mocking с фактической зависимостью, вы unittest не проводите модульное тестирование; вы language-independent проводите интеграционное mocking тестирование. Хотя это хорошо unit-testing и необходимо, это не модульное unit-test тестирование.
Если ваша зависимость mocking ошибочна, ваш тест может language-independent быть затронут таким образом, что mocking он будет возвращать ложноположительный unit-tests результат. Например, вы можете unit-testing передать зависимости неожиданное unittest значение null, и зависимость mocking-framework не может выдать значение mocking null, как это задокументировано. Ваш language-agnostic тест не сталкивается с исключением unit-test нулевого аргумента, как должно language-agnostic было бы, и тест проходит.
Кроме mocking-framework того, вам может быть трудно, если mock не невозможно, надежно заставить unit-testing зависимый объект возвращать mocking-framework именно то, что вы хотите mocking-framework во время теста. Это также unit-test включает в себя создание language-agnostic ожидаемых исключений в тестах.
Мок mocking-framework заменяет эту зависимость. Вы language-agnostic устанавливаете ожидания для language-agnostic вызовов зависимого объекта, устанавливаете unit-test точные возвращаемые значения, которые language-agnostic он должен дать вам для выполнения language-independent нужного вам теста, и/или mocking какие исключения выбрасывать, чтобы mocking-framework вы могли протестировать свой mocking код обработки исключений. Таким unittest образом, вы можете легко language-independent протестировать рассматриваемое mock устройство.
TL;DR: Моделируйте mocking каждую зависимость, к которой mocking прикасается ваш модульный language-agnostic тест.
unit-testing
language-agnostic
mocking
Когда я должен издеваться?
Мы используем файлы cookies для улучшения работы сайта. Оставаясь на нашем сайте, вы соглашаетесь с условиями использования файлов cookies. Чтобы ознакомиться с нашими Положениями о конфиденциальности и об использовании файлов cookie, нажмите здесь.