Я отвечу тем, что могу.
Должен ли я проверять родительские классы при тестировании детей, если не было перезаписано ни одного метода?
Вы должны полностью проверить родителя, а затем проверить только то, что меняет у ребенка.
Если у вас есть необязательный параметр в методе, должны ли вы написать тест, когда они присутствуют, а когда нет?
Да, тестируйте все, что вызывает изменение в поведении.
Следует ли каким-либо образом комбинировать модульное тестирование со временем выполнения кода или они должны оставаться полностью раздельными?
Они должны оставаться отдельными. Модульное тестирование - это проверка того, что метод делает то, что должен. Вы должны проверить время выполнения кода на системном уровне, а затем разбить его, чтобы найти узкие места. Проверка производительности каждого отдельного устройства приведет только к преждевременной оптимизации.
Есть ли веская причина не запускать ваш полный набор тестов каждый раз?
Если ваш набор тестов огромен и занимает много времени, вы можете запустить его только подмножество , пока вы все еще разрабатываете . Вы должны запустить весь пакет, когда вы (кажется, что вы) сделали, чтобы убедиться, что вы не сломали больше ничего.
Просто так я правильно понимаю свою терминологию, к чему относится модуль в модульном тестировании? Класс проверяется? Метод? Параметр? Что-то еще?
«Единица» относится к тестируемому методу. Это самая маленькая единица, на которую имеет смысл разбивать программное обеспечение. Метод класса A может использовать класс B, но любой тест, который вы пишете для этого метода, не должен волновать. Просто протестируйте этот метод.