В настоящее время я играю с последним кандидатом на выпуск Visual Studio 2017, создав библиотеку .Net Standard 1.6. Я использую xUnit для тестирования моего кода и задаюсь вопросом, можете ли вы все еще тестировать внутренние методы в VS2017.Внутренние методы тестирования модулей в VS2017. Net Standard library
Я помню, что вы могли бы весь класс линии AssemblyInfo.cs в VS2015, что позволило бы указанным проекты, чтобы увидеть внутренние методы
[assembly:InternalsVisibleTo("MyTests")]
Поскольку нет класса AssemblyInfo.cs в VS2017 .Net стандартных проектов, я был интересно, можете ли вы все еще тестировать внутренние методы?
Вы должны * иметь возможность тестировать свой код только из внешних видимых функций. В конце концов, если никакой логический путь от внешнего кода не сможет достичь этих внутренних методов, то что бы они там делали в первую очередь? – David
@ David Я могу и сделал это, но ранее я провел простые модульные тесты вокруг некоторых внутренних классов. Просто чтобы быть более явным в тестировании. –
AFAIK, вы можете поместить этот атрибут в любой другой файл, за пределами блока 'namespace', и он должен скомпилироваться. В 'AssemblyInfo.cs' не должно быть ничего волшебного. Разве это не работает? Конечно, вам нужно добавить правильное предложение 'using' или использовать полностью квалифицированный атрибут' [сборка: System.Runtime.CompilerServices.InternalsVisibleTo («Something»)]. – Groo