Я пишу свой UnitTests в отдельном проекте из моего проекта в тесте. Чтобы иметь возможность тестировать классы/члены Internal
, я использую атрибут [InternalsVisibleTo]
в моем проекте под тестированием. возникаетЕдиничные тесты, конфигурация сборки и внутренние номера
#if "BUILD_CONFIGURATION"
[assembly: InternalsVisibleTo("Tests_ProjectUnderTest")]
#endif
следующий вопрос:
Какие сборки конфигурации следует использовать для модульных тестов? Internal
s не должны быть видны в моем выпущенном коде, поэтому #if RELEASE
невозможен. С другой стороны, #if DEBUG
действительно не проверяет, что я хочу выпустить. Должны ли у вас отличные UNIT_TEST
-конфигурация? Или как вы это сделаете?
Всегда оставляйте атрибут 'InternalsVisibleTo' в нем все время. В конце концов, если люди хотят попасть в ваши внутренние органы, они могут сделать это через отражение в любом случае. –