Поделиться через


Параметры команды Te.exe

Использование

<te.exe test_binaries> [/appendWttLogging] [/breakOnCreate] [/breakOnError] [/breakOnInvoke] [/coloredConsoleOutput] [ /console:flushWrites] [/console:position=[x,y | current] [/console:size=<x,y>] [ /console:topmost] [/defaultAppDomain] [/disableConsoleLogging] [/disableTimeouts] [/ disableTimeouts] [/ dpiaware ] [/enableWttLogging] [/inproc] [/isolationLevel] [/labMode] [/list] [/listProperties] [/logFile:name>] [/logOutput<:mode>] [/miniDumpOnCrash] [/miniDumpOnError] [/name:testName>] [/outputFolder:<folderName] [/outputFolder<:<folderName>] [/p:<ParamName>=<ParamValue>] [/parallel] [/persistPictResults] [/pict:<OptionName>=<OptionValue>] [/rebootStateFile] [/reportLoadingIssue] [/runas:RunAsType>] [/runIgnoredTests] [/runon:<<MachineName>] [/screenCaptureOnErroror] [/select:query>] [/sessionTimeout<:<value>] [/ stackFrameCount:<value>] [/stackTraceOnError] [/terminateOnFirstFailure] [/testDependencies:<files>] [/testmode:Loop] [/testmode:Stress] [/testTimeout<:value] [/unicodeOutput:<true/false>] [/wttDeviceString<:value>>] [/wttDeviceStringSuffix:<значение>]

Команды выбора и выполнения

test_binaries

Укажите один или несколько тестовых файлов для выполнения (разделенных пробелами). Поддерживаются подстановочные знаки.

te.exe test1.dll

Интерпретация. Выполнение всех тестов в test1.dll.

te.exe test1.dll test2.dll test3.dll

Интерпретация. Выполнение всех тестов в test1.dll, test2.dll и test3.dll.

te.exe *.dll

Интерпретация. Выполнение всех тестов во всех библиотеках DLL в текущем каталоге.

/coloredConsoleOutput:<true/false>

Указывает, должен ли TAEF выводить цветной текст консоли. Значение по умолчанию: true. Если задано значение false, TAEF выводит весь текст с цветом консоли по умолчанию.

te.exe test1.dll /coloredConsoleOutput:false

/console:<optionName>=<value>

Предоставляет параметры настройки использования консоли TE. Имеются следующие варианты:

/console:flushWrites

Вызывает очистку выходных данных консоли после записи каждой строки— полезно при перенаправлении выходных данных TE.exe.

/console:position=[x,y | current]

Задает положение (в пикселях) окна консоли относительно угла основного монитора. Используйте значение current , чтобы указать, что текущая позиция консоли должна храниться и использоваться при возобновлении перезагрузки.

/console:size=[ <x,y> | current ]

Задает размер окна консоли (в измерениях символов). При необходимости размер буфера экрана будет увеличен, чтобы соответствовать размеру окна. Используйте значение текущего значения, чтобы указать, что текущий размер консоли должен храниться и использоваться при возобновлении перезагрузки.

/console:topmost

Хранит консоль, выполняющуюся te.exe "topst" в порядке z рабочего стола в течение длительности выполнения.

/dpiaware

Выполняет тесты в процессе с поддержкой DPI, см . раздел "Высокий DPI". Это также можно задать с помощью метаданных (DpiAware).

/inproc

Выполните все тесты в самом процессе TE.exe, а не в TE. ProcessHost.exe.

te.exe test1.dll /inproc

Примечание.

TE поддерживает выполнение только одной тестовой библиотеки dll за раз при использовании параметра /inproc .

/isolationLevel:<Level>

Указывает минимальный уровень изоляции, используемый при выполнении тестов TAEF. Если это значение конфликтует с значением IsolationLevel, указанным в качестве метаданных, значение становится уровнем изоляции с самой жесткой областью. Дополнительные сведения см. в разделе " Изоляция тестов".

te.exe test1.dll /isolationLevel:Class

/labMode

Выполняет тесты и удаляет потенциальный блокирующий пользовательский интерфейс (например, отчеты об ошибках Windows диалоговые окна при аварийном выполнении тестов).

/list

Перечисляет имена всех test_binaries и классов и методов в них. Если заданы критерии выбора, перечисляет только имена тех, кто соответствует критериям.

 te.exe test1.dll test2.dll /list

 WEX::UnitTests::Test1
  WEX::UnitTests::Test1::Example1
  WEX::UnitTests::Test1::Example2
  WEX::UnitTests::Test1::Example3

 WEX::UnitTests::Test2
  WEX::UnitTests::Test2::Example1
  WEX::UnitTests::Test2::Example2
  WEX::UnitTests::Test2::Example3
 te.exe test1.dll test2.dll /select:@name='*Example2*' /list

 WEX::UnitTests::Test1
  WEX::UnitTests::Test1::Example2

 WEX: :UnitTests::Test2
  WEX::UnitTests::Test2::Example2

/listProperties

Перечисляет имена и свойства всех test_binaries и классов и методов в них вместе с именами функций Setup и Teardown, если они доступны. Если заданы критерии выбора, перечисляет только имена тех, кто соответствует критериям.

 te.exe test1.dll test2.dll /listProperties

 WEX::UnitTests::Test1
  WEX::UnitTests::Test1::Example1
   Setup: Test1Setup
   Teardown: Test1Teardown
   Property[ThreadingModel] = MTA
  WEX::UnitTests::Test1::Example2
   Setup: Test1Setup
   Teardown: Test1Teardown
   Property[ThreadingModel] = STA
  WEX::UnitTests::Test1::Example3
   Setup: Test1Setup
   Teardown: Test1Teardown
   Property[ThreadingModel] = STA

 WEX::UnitTests::Test2
  WEX::UnitTests::Test2::Example1
   Property[ThreadingModel] = MTA
  WEX::UnitTests::Test2::Example2
   Property[ThreadingModel] = STA
  WEX::UnitTests::Test2::Example3
   Property[ThreadingModel] = MTA
 te.exe test1.dll test2.dll /select:@name='*Example2*' /listProperties

 WEX::UnitTests::Test1
  WEX::UnitTests::Test1::Example2
   Setup: Test1Setup
   Teardown: Test1Teardown
   Property[ThreadingModel] = STA

 WEX::UnitTests::Test2
  WEX::UnitTests::Test2::Example2
   Property[ThreadingModel] = STA

/name:<testname>

Выбор на основе тестов — это простая альтернатива "/select:@Name='<testname>". Имя <> теста по-прежнему может содержать подстановочные знаки ("*" и "?"), но не должно содержаться в одинарных кавычках. Если в командной строке заданы /select и /name, то параметр /select query имеет приоритет и /name игнорируется.

te.exe test1.dll /name:*TestToLower

Интерпретация: выполните все тесты в test1.dll, где имена методов заканчиваются с помощью TestToLower. То же самое можно представить с помощью критериев выбора как /select:@Name='*TestToLower'.

te.exe test1.dll /name:*StringTest*

Интерпретация. Выполните все тесты в test1.dll которые содержат фразу StringTest в пространстве имен, классе или имени метода.

/outputFolder:<folderName>

Указывает папку для размещения всех созданных файлов. По умолчанию используется текущий каталог. Например, можно использовать переменные среды:

te.exe test1.dll /outputFolder:%TEMP%\\MyOutput

/p:<ParamName>=<ParamValue>

Определяет параметр среды выполнения с именем параметра=ParamName и значением параметра=ParamValue. Эти параметры доступны из метода тестирования или метода установки или очистки.

te.exe test1.dll /p:x=5 /p:myParm=cool

Вы можете захватить x как один из нескольких поддерживаемых типов в тестовом коде. Например, здесь мы можем получить его как int, так и WEX::Common::String:

                int x = 0;
                String xString;
                RuntimeParameters::TryGetValue(L"x", x);
                RuntimeParameters::TryGetValue(L"x", xString);

Дополнительные сведения см. в TAEF. Страница справки параметров среды выполнения.

/параллельный

Выполняет тесты параллельно между несколькими процессорами. Тесты должны выполняться параллельно, помечая метаданными Parallel.

te.exe test1.dll /parallel

Дополнительные сведения см. на странице справки Parallel .

/persistPictResults

Кэширует результаты, созданные PICT.exe для тестов с помощью PICT DataSource в текущем выполнении. Последующее выполнение теста попытается использовать кэшированные результаты, как и при выполнении PICT.exe с той же моделью и начальными файлами.

/pict:<OptionName>=<OptionValue>

Предоставляет параметры управления PICT.exe при вызове тестов с помощью источника данных PICT. Установка одного из этих параметров в настоящее время переопределяет все связанные метаданные в коде. Имеются следующие варианты:

/Pict:Order=3
Задает порядок сочетаний, передав значение с помощью параметра команды /o для PICT.exe.

/Pict:ValueSeparator=;
Задает разделитель значений, передав значение с помощью параметра команды /d для PICT.exe.

/Pict:AliasSeparator=+
Задает разделитель псевдонима, передав значение с помощью параметра команды /a для PICT.exe.

Pict:NegativeValuePrefix=!
Задает префикс отрицательного значения, передав значение с помощью параметра команды /n для PICT.exe.

/Pict:SeedingFile=test.seed
Задает путь к начальной версии файла, передав значение с помощью параметра команды /e для PICT.exe.

/Pict:Random=true
Включает или отключает случайность в результатах PICT и делает журнал источника данных PICT случайным начальным значением, которое использовалось.

/Pict:RandomSeed=33
Задает случайное начальное значение, передав значение с помощью параметра команды /r для PICT.exe. Если значение Pict:Random не задано явным образом, значение false будет включено в параметре Pict:Random.

/Pict:CaseSensitive=true
Если задано значение true, включите конфиденциальность регистра, передав параметр команды /c в PICT.exe.

/Pict:Timeout=00:01:30
Задает время ожидания, пока PICT.exe завершится, прежде чем убить его процесс. Значение имеет формат [День.] Hour[:Minute[:Second[. FractionalSeconds]]]

/runas:<RunAsType>

Выполняет тесты в указанной среде. Дополнительные сведения об использовании см. в документации по запускам .

te.exe *.dll /runas:System

Интерпретация: выполнение всех тестов в качестве системы.

te.exe *.dll /runas:Elevated

Интерпретация. Выполнение всех тестов в качестве пользователя с повышенными привилегиями.

te.exe *.dll /runas:Restricted

Интерпретация. Выполнение всех тестов в качестве пользователя, не являющегося повышенными привилегиями.

te.exe *.dll /runas:LowIL

Интерпретация. Выполнение всех тестов в процессе низкой целостности.

/runIgnoredTests

Выполняет или перечисляет (если в сочетании с /list или /listProperties) все тесты, включая классы тестов и методы тестирования с метаданными "Игнорировать", для которых задано значение true. По умолчанию тестовые классы и методы тестирования с метаданными "Игнорировать" имеют значение true, пропускаются во время выполнения и во время перечисления.

/runon:<MachineName>

Выполняет тесты удаленно на указанном компьютере. TAEF выполняет проверку подлинности, авторизует и развертывает необходимые двоичные файлы для выполнения тестов и записывает все сведения обратно в исходную консоль. Дополнительные сведения об использовании см. в документации по выполнению кросс-машинного тестирования.

te.exe *.dll /runon:TestMachine1

Интерпретация. Удаленное выполнение всех тестов в TestMachine1.

/select:<query>

Критерии выбора, которые следует использовать при выборе тестов из каждого двоичного файла теста. Критерии выбора состоят из одного или нескольких следующих условий:

@[имя свойства] = [значение в виде строки]

@[имя свойства] >= [значение как float или целое число]

@[имя свойства] > [значение как float или целое число]

@[имя свойства] <= [значение как float или целое число]

@[имя свойства] < [значение как float или целое число]

  • Значения свойств в виде строк должны находиться в отдельных кавычках.
  • Вы можете указать составные критерии выбора с помощью "and", "or" и "not" (без учета регистра).
  • Строковые значения свойств поддерживают подстановочные знаки с помощью символов "*" и "?"
  • Для значений с плавающей запятой и целых чисел символ "*" также может использоваться как "существует", но не может использоваться для частичного сопоставления. Например: /select:"@Priority=*" является допустимым, но /select:"@Priority=4*" не является.

te.exe test1.dll /select:"(@Name='*TestToLower" или @Owner="C2", а не(@Priority < 3)"

Интерпретация: выполните все тесты в test1.dll где имена методов заканчиваются "TestToLower" или где владелец имеет значение C2; и где приоритет не менее 3.

te.exe test1.dll test2.dll /select:@Priority=\*

Интерпретация. Выполните все тесты в test1.dll и test2.dll, где приоритет указан в их метаданных теста.

te.exe test1.dll /select:@Name='*StringTest*'

Интерпретация. Выполните все тесты в test1.dll которые содержат фразу StringTest в пространстве имен, классе или имени метода.

/sessionTimeout:<value>

Задает время ожидания сеанса для всего выполнения Te.exe. Если истекло время ожидания, тестовый сеанс будет прерван, а код выхода процесса будет ознален, что произошло время ожидания.

Примечание.

Значение времени ожидания должно быть указано в следующем формате:

[Day.]Hour[:Minute[:Second[.FractionalSeconds]]]

Примечание.

При выполнении в WTT это значение можно использовать, чтобы убедиться, что файл журнала Wtt остается нетронутым, даже если сеанс TAEF истекает.

te.exe test1.dll /sessionTimeout:0:0:0.5

Время ожидания всего тестового сеанса истекает через 5 секунд.

te.exe test1.dll /sessionTimeout:0:0:45

Весь тестовый сеанс будет истекает через 45 секунд.

te.exe test1.dll /sessionTimeout:0:20

Весь тестовый сеанс истекает через 20 минут.

te.exe test1.dll /sessionTimeout:5

Весь тестовый сеанс истекает через 5 часов.

te.exe test1.dll /sessionTimeout:1.2

Весь тестовый сеанс будет истекает через 1 день и 2 часа.

/terminateOnFirstFailure

Завершает тестовый запуск при первом обнаружении сбоя теста. Вызываются все операции удаления для этого теста, но все последующие тесты помечены как игнорируемые. Из-за известной проблемы тесты могут продолжать выполняться при использовании тестового режима.

te.exe test1.dll /terminateOnFirstFailure

/testDependencies:<files>

Указывает дополнительные зависимости тестов для развертывания при использовании выполнения тестов на нескольких компьютерах. Если полный путь не указан, TAEF будет выполнять поиск относительно текущего каталога, а не тестового каталога.

te.exe *.dll /runon:TestMachine1 /TestDependencies:test*.jpg; file1.doc

Интерпретация. Удаленное выполнение всех тестов на "TestMachine1" и копирование "test*.jpg" и "file1.doc" на удаленный компьютер перед выполнением любых тестов. Каждая спецификация файла может содержать подстановочные знаки (test.txt; тест*.dll; т. д.) для сопоставления одного или нескольких файлов.

/testTimeout:<value>

Задает время ожидания глобального теста для всего выполнения Te.exe. Это значение переопределяет метаданные времени ожидания теста, которые могут быть заданы для выполнения данного теста.

Примечание.

Значение времени ожидания должно быть указано в следующем формате:

[Day.]Hour[:Minute[:Second[.FractionalSeconds]]]

Примечание.

Будет игнорироваться при использовании в сочетании с /inproc.

te.exe test1.dll /testTimeout:0:0:0.5

Каждый метод тестирования и установки и очистки истекает через 5 секунд.

te.exe test1.dll /testTimeout:0:0:45

Каждый метод тестирования и установки и очистки истекает через 45 секунд.

te.exe test1.dll /testTimeout:0:20

Каждый метод тестирования и настройки и очистки истекает через 20 минут.

te.exe test1.dll /testTimeout:5

Каждый метод тестирования и настройки и очистки истекает через 5 часов.

te.exe test1.dll /testTimeout:1.2

Каждый метод тестирования и установки и очистки истекает через 1 день и 2 часа.

/unicodeOutput:<true/false>

Когда TE отправляется в текстовый файл, он выводит юникод по умолчанию. Одно из исключений заключается в том, что вы попросили добавить существующий файл ANSII (через ">>".

Чтобы переопределить это поведение, можно указать /unicodeOutput:false. Это принудит TE всегда выводить ANSII в файл.

te.exe test1.dll /unicodeOutput:false > output.txt

Параметры средства ведения журнала

/appendWttLogging

Если ведение журнала WTT включено, добавляется в файл журнала, а не перезаписывает его. Необходимо использовать в сочетании с /enableWttLogging.

te.exe test1.dll /enableWttLogging /appendWttLogging /appendWttLogging

Будет создаваться или добавляться в файл журнала с именем TE.wtl после завершения выполнения теста.

/enableWttLogging

Включает ведение журнала WTT; Wttlog.dll должен быть доступен в пути.

te.exe test1.dll /enableWttLogging

Будет создавать файл журнала с именем TE.wtl после завершения выполнения теста.

/defaultAppDomain

Выполняет управляемые тесты в домене приложения по умолчанию.

te.exe managed.test1.dll /defaultAppDomain

/disableConsoleLogging

Отключает выходные данные журнала консоли; необходимо использовать в сочетании с /enableWttLogging.

te.exe test1.dll /disableConsoleLogging /enableWttLogging

/logFile:<name>

Укажите имя, используемое в качестве файла журнала wtt; необходимо использовать в сочетании с /enableWttLogging.

te.exe test1.dll /logFile:myCustomLogFile.xml /enableWttLogging

Будет создавать файл журнала с именем myCustomeLogFile.xml после завершения выполнения теста.

/logOutput:<mode>

Задает выходной уровень средства ведения журнала. Допустимые значения:

  • Высокий уровень: включает некоторые дополнительные выходные данные консоли, такие как печать метки времени рядом с каждой трассировкой.
  • Низкий: выдает только основные события (запуск, конечная группа и т. д.) и ошибки. Файл журнала содержит сведения о более низком приоритете, преобразуя все ошибки, чтобы обеспечить контекст для сбоев.
  • LowWithConsoleBuffering: то же, что и Low, но включает контекст сбоев в выходных данных журнала и консоли.
  • Самый низкий: то же самое, что и низкий, но выходные данные консоли включают только ошибки, сбои теста и сводку выполнения.

/version

Выводит подробные сведения о версии.

/wttDeviceString:<value>

Полностью переопределяет WttDeviceString, используемый WexLogger при инициализации WttLogger.

te.exe test1.dll /wttDeviceString:$Console

/wttDeviceStringSuffix:<value>

Добавляет указанное значение к WttDeviceString по умолчанию, используемому WexLogger при инициализации WttLogger. Игнорируется, если также указан wttDeviceString .

te.exe test1.dll /wttDeviceStringSuffix:$Console

Параметры отладки

/breakOnCreate

Разбивается на отладчик до создания экземпляра каждого тестового класса.

te.exe test1.dll /breakOnCreate

/breakOnError

Прерывается в отладчик, если регистрируется ошибка или сбой теста.

te.exe test1.dll /breakOnError

/breakOnInvoke

Прерывается в отладчик перед вызовом каждого метода теста.

te.exe test1.dll /breakOnInvoke

/disableTimeouts

Отключает все время ожидания во время выполнения. Это может быть полезно при отладке, чтобы предотвратить время ожидания TAEF в рамках отлаживаемой программы.

te.exe test1.dll /disableTimeouts

/miniDumpOnError

Принимает и регистрирует мини-дамб, если возникает ошибка теста или сбой.

te.exe test1.dll /miniDumpOnError

/miniDumpOnCrash

Принимает и регистрирует мини-дампа, если происходит сбой теста.

te.exe test1.dll /miniDumpOnCrash

/rebootStateFile

Явно включает выполнение тестов перезагрузки.

te.exe test1.dll /rebootStateFile:myFile.xml

/reportLoadingIssue

Отображает диалоговое окно описания ошибки, если TAEF не может загрузить библиотеку dll теста. Необходимо использовать только для исследования проблем загрузки библиотеки dll машинного тестирования.

te.exe test1.dll /reportLoadingIssue

/screenCaptureOnError

Принимает и регистрирует запись экрана, если возникает ошибка теста или сбой.

te.exe test1.dll /screenCaptureOnError

/stackFrameCount:<value>

Указывает количество кадров стека для отображения при получении стеков вызовов. Значение по умолчанию — 50.

te.exe test1.dll /stackFrameCount:100

/stackTraceOnError

Принимает и регистрирует трассировку стека, если возникает ошибка теста или сбой.

te.exe test1.dll /stackTraceOnError

Режимы тестирования

/testmode:Loop

Позволяет управлять выполнением с помощью двух переменных Loop и LoopTest.

  • Цикл: определяет, сколько раз выполняется весь запуск. По умолчанию 1.
  • LoopTest: определяет, сколько раз выполняется отдельный тест. Значение по умолчанию 10.

te.exe test1.dll /testmode:Loop

Интерпретация. Выполнение каждого теста в test1.dll 10 раз (значение по умолчанию для LoopTest). Выполнение выполняется один раз (значение по умолчанию для цикла).

te.exe test1.dll test2.dll /testmode:Loop /Loop:3 /LoopTest:1

Интерпретация. Выполнение каждого теста в test1.dll и test2.dll один раз (определяется LoopTest). Все выполнение (все объединенные тесты в test1.dll и test2.dll) выполняются 3 раза по мере определения цикла.

/testmode:Stress

В режиме тестирования "стресс" TAEF будет выполнять тесты на неопределенный срок, пока не будет введен ctrl+C или пока сообщение WM_CLOSE не будет отправлено скрытому окну TAEF. /testmode:stress должен выполняться в сочетании с /inproc.

te.exe test1.dll /testmode:Stress /inproc

Подробные сведения и другие параметры, поддерживаемые в этом режиме, см. в разделе "Режимы тестирования".