Я бы сказал, что это другой способ - круглые модульные тесты предпочтительнее программирования с помощью контрактных конструкций.
Я говорю это потому, что проверки PoC часто выражаются как утверждения, которые могут быть отключены по желанию в производстве. (Даже Eiffel, язык Бертрана Мейерса, который имеет встроенную поддержку PoC, рекомендует отключить их в работе.)
Я бы предпочел иметь полный набор модульных тестов, которые проверяют «счастливый путь», исключительные и граничные условия. Они полезны при рефакторинге, а не PoC.