Мне кажется, что добавление тестов, гарантирующих, что свойства только для чтения остаются доступными только для чтения, если не принято преднамеренное решение об их изменении, так же важно, как и любое другое поведение.
Согласен, но осмелюсь сказать, что юнит-тестирование - неправильный путь.Вот почему:
Модульное тестирование обычно используется для тестирования динамических аспектов кода, то есть его поведения во время выполнения.С другой стороны, вы ищете способ протестировать статический (во время компиляции или во время разработки) аспект вашего кода.Мне кажется, что такие инструменты, как FxCop или NDepend, более уместны в этом случае.(Возможно, я ошибаюсь из-за того, что эти конкретные инструменты уместны, поскольку я сам не очень хорошо их знаю.)
При этом, как вы уже узнали из предыдущих ответов, вы могли бы сделать это с помощью отражения:
typeof(SomeType).GetProperty("ReadOnlyProperty").CanWrite == false