Пурист-тестировщик скажет, что вам нужно создать модульные тесты для классов A
и B
.
В каждом классе должны быть протестированы все методы.Если метод может делать больше, чем одно (например, если у вас есть оператор if), то у вас должен быть тест для каждого пути.Если тесты становятся слишком сложными, то, вероятно, будет хорошей идеей реорганизовать код, чтобы упростить тесты.
Обратите внимание, что в его нынешнем виде сложно тестировать A
изолированно, поскольку оно зависит от B
.Если B
просто, как сейчас, вероятно, все в порядке.Возможно, вы захотите назвать свои тесты для интеграционных тестов A
, потому что технически они тестируют вместе и A
, и B
.Другой вариант заключается в том, чтобы метод AFoo
принимал в качестве параметра экземпляр B
, с которым он работает.Таким образом, вы можете смоделировать экземпляр B
и провести настоящий модульный тест.