Использование контрактов в C# уменьшает количество юнит-тестов
Это правда, что использование Contracts.Requires и Contracts.Ensure в методах C# уменьшит количество необходимых модульных тестов для этих методов? Могу ли я просто игнорировать диапазон значений, которые не соответствуют контрактам, или эти значения также должны быть включены в модульные тесты?
1 ответ
Решение
Это не должно означать, что проектирование по контракту не предназначено для замены модульных испытаний или каких-либо испытаний. Предварительные условия и постусловия используются для обеспечения исполнения контракта, но конечный клиент этого контракта должен убедиться, что такой контракт все еще действует. Таким образом, вам нужно поддерживать модульные тесты со всем диапазоном значений, чтобы убедиться, что все так, как должно быть.