Я использую средства тестирования, предоставленные Microsoft.VisualStudio.TestPlatform.TestFramework.У меня есть метод испытания, украшенный [TestMethod].Я хочу реализовать этот тест для различных комбинаций параметров, используя [DataRow].Одним из параметров, который понадобится методу, является тип enum, объявленный как внутренний в другой сборке;сборка, в которой определен тип enum, дает сборке, содержащей модульные тесты, доступ к своим внутренним объектам через InternalsVisibleTo.
Насколько я могу судить, методы модульных тестов общедоступны в открытом классе.Когда речь заходит об этом методе модульного тестирования, либо метод тестирования должен быть недоступен извне сборки модульного теста (достигается за счет того, что он является частным или внутренним, либо путем создания класса тестирования, который содержит его внутри), либо перечисление должно быть общедоступным.Публикация enum была бы неуместной, поэтому было бы правильным сделать метод тестирования внутренним.
Есть ли какие-либо возможные негативные последствия для внутреннего метода модульного теста?
Этот вопрос, несомненно, являетсяпростой, который имеет простой ответ.Я спрашиваю это, потому что у меня нет никакого успеха вообще, ища Интернет для ответа на это.Все, что я могу найти, - это дискуссии о том, следует ли тестировать частные методы или нет.
Примечание. Если вы даете комментарий или ответ, который не отвечает на мой вопрос, но вместо этого предлагает или подразумевает, что неправильно тестировать внутренних членовсборка с использованием InternalsVisibleTo, тогда я отклоню ваш ответ из-под контроля.
Примечание 2: В этом случае можно использовать один строковый параметр вместо параметра enumиспользуйте Enum.Parse в методе test и передайте все соответствующие параметры в виде строк, созданных с помощью оператора nameof.Мне это не нравится, но это может быть наименее плохой обходной путь.