Конструкция моего приложения заключается в том, что сначала выполняются стандартные пользовательские операции (и выдают интересующую информацию, даже если пользователь не может продолжить), а затем, при необходимости, предлагается внести некоторые системные изменения соответственно, что требует повышения прав.Если пользователь решает продолжить, программа перезапускается, требуя повышения прав с помощью переключателя командной строки, который сообщает ему, где в рабочем процессе возобновить работу.Затем новый процесс выбирает то, где остановился старый, и вносит изменения, запрошенные пользователем.
Моя проблема в том, что я не знаю, как написать модульные тесты для методов библиотеки, которые обязательно делают привилегированные вызовы беззапуск всей Visual Studio от имени администратора.Я действительно хотел бы избежать этого, поэтому я в порядке с системой, запрашивающей у меня учетные данные для запуска некоторых или всех моих модульных тестов.Но в настоящее время, будучи обычным пользователем, вызовы просто терпят неудачу с исключением «System.Management.ManagementException: доступ запрещен».
Есть какие-либо идеи или опыт обработки этого, помимо повышения всей Visual Studio для сеанса?Поскольку я использую встроенные модульные тесты, в идеале решение будет отображать результаты каждого теста в окне результатов теста, но это не является обязательным требованием.