Всегда отдавайте предпочтение тестированию по принципу «черного ящика». Тесты — неважно, юнит-, интеграционные или сквозные — должны рассматривать систему как «черный ящик» и проверять поведение, имеющее смысл с точки зрения бизнес-логики. Если тест не удается связать с бизнес-требованием, это является признаком хрупкости теста.

Другими словами, тесты должны сосредоточиться на том, что система делает, а не на том, как она это делает. Речь про наблюдаемое поведение.

Из Принципы юнит-тестирования.

testing