RunAs с повышенными привилегиями

TAEF гарантирует, что тест выполняется в процессе с повышенными привилегиями, создав при необходимости повышенный процесс для выполнения теста.

Примечание. Для выполнения тестов, помеченных runAs=Elevated, пользователь, выполняющий TAEF, должен быть членом группы администраторов. Это связано с тем, что у неадминистраторов нет токена разделения для повышения привилегий. Если неадминистратор пытается запустить тест, помеченный с помощью RunAs=Elevated, тест будет помечен как заблокированный.

Заметка На компьютерах с версиями Windows старше, чем Windows Vista, необходимо выполнять тесты с повышенными привилегиями из процесса администратора.

Указание параметра RunAs в командной строке

te unittests\* /runas:elevated

Маркировка тестов с помощью RunAs

Метаданные теста можно использовать для указания типа runas сборки, класса или метода теста.

Заметка Значения RunAs, указанные в метаданных, переопределяют значения RunAs, указанные в командной строке. Например, тест, помеченный метаданными runas:system, по-прежнему будет выполняться как Локальная система, даже если в командной строке указан параметр /runas:elevated.

Пример (нативный код)

class MyTests
{
    TEST_CLASS(MyTests);

    BEGIN_TEST_METHOD(ElevatedTest)
        TEST_METHOD_PROPERTY(L"RunAs", L"Elevated")
    END_TEST_METHOD()
};

Запуск от имени