Должен ли я проверить наследование и реализацию? - PullRequest
0 голосов
/ 20 декабря 2018

Должны ли модульные тесты проверять, реализует ли класс интерфейс с помощью отражения (тот же вопрос с наследованием)?Если нет, почему?

Если реализация удалена, код все еще может скомпилироваться, и тесты могут все же быть успешными (это зависит от того, что делает код).

Ответы [ 3 ]

0 голосов
/ 20 декабря 2018

Вы должны проверить , что важно для вашего кода.Такие вещи, как наследование, интерфейсы и тому подобное, находятся на best подробностях реализации , которые должны быть скрыты от результата необработанных данных.

То есть, если ваш кодпроходит без наследования, вероятно, он не нуждался в наследстве и должен быть очищен как бесполезный.

0 голосов
/ 20 декабря 2018

Несколько раз в моей карьере у меня была ситуация, когда я писал этот вид модульных тестов, в основном для соглашений о тестировании.

Например, было неявное предположение, что все модульные тесты должны наследоваться от BaseTest (хотя техническибез этого все работало нормально, мы хотели этого ради согласованности) и у нас был модульный тест, который обеспечивал именно это:).

Так что да, это имеет смысл, если это необходимо.

0 голосов
/ 20 декабря 2018

Модульные тесты должны проверять все, что может не работать.Если язык программирования не гарантирует, что класс реализует все методы в контракте, возможно, вы захотите проверить это в тестах.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...