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