Добавление метаданных теста
Для Windows 8 комплект драйверов Windows (WDK) использует платформу разработки и выполнения тестов (TAEF) для создания тестового содержимого. Тест TAEF — это объект, реализованный в виде библиотеки динамической компоновки (DLL), которая содержит несколько методов, где каждый метод сопоставляется с определенным сценарием тестирования. Объект TAEF объединяет связанные методы в группу тестов. Для каждого теста существует набор метаданных, описывающих тест. Чтобы повысить переносимость и инкапсуляцию тестов, TAEF сохраняет метаданные теста в самом тестовом объекте. При создании собственных тестов драйверов с помощью шаблонов тестов драйверов необходимо добавить эти метаданные, чтобы тесты драйверов были доступны и могли быть развернуты с помощью Visual Studio.
Необходимые условия
- Исходный код для теста драйвера, написанный с помощью одного из шаблонов теста драйвера. Дополнительные сведения см. в статье Создание теста драйвера с помощью шаблона теста драйвера.
Добавление атрибутов метаданных теста
Добавьте необходимые метаданные свойства теста в исходные файлы для теста.
Например, если вы используете шаблон "Тест драйвера" для создания версии теста SurpriseRemove, добавляются следующие метаданные. Измените описание теста, отображаемое имя, категорию и атрибуты файла результатов.
C++ // Declare the test class method DoSurpriseRemove - the main test method within this class BEGIN_TEST_METHOD(DoSurpriseRemove) // Required properties for driver tests TEST_METHOD_PROPERTY(L"Kits.Drivers", L"TRUE") TEST_METHOD_PROPERTY(L"Kits.Parameter", L"DQ") TEST_METHOD_PROPERTY(L"Kits.Parameter.DQ.Description", L"A WDTF SDEL query that is used to identify the target device(s) - https://go.microsoft.com/fwlink/p/?linkid=232678") TEST_METHOD_PROPERTY(L"Kits.Parameter.DQ.Default", L"INF::OriginalInfFileName='%InfFileName%'") TEST_METHOD_PROPERTY(L"RebootPossible", L"true") // TODO: Required properties to be customized to match your test requirements TEST_METHOD_PROPERTY(L"Description", L"Plug and Play Surprise Remove Generated Template") TEST_METHOD_PROPERTY(L"Kits.DisplayName", L"My Plug and Play Surprise Remove Test") TEST_METHOD_PROPERTY(L"Kits.Category", L"My Test Category") // Optional properties for driver tests TEST_METHOD_PROPERTY(L"Kits.Drivers.ResultFile", L"TestTextLog.log") // TODO: (see Windows Driver Kit documentation for additional optional properties) END_TEST_METHOD()
C# // // DoSurpriseRemove is a test method as identified by the [TestMethod] tag. // More methods can be added by following this basic pattern. // The name of the function defines the name of the test. // [TestMethod] // Required properties (see Windows Driver Kit documentation for more information): [TestProperty("Kits.Drivers", "TRUE")] [TestProperty("Kits.Parameter", "DQ")] [TestProperty("Kits.Parameter.DQ.Description", "A WDTF SDEL query that is used to identify the target device(s) - https://go.microsoft.com/fwlink/p/?linkid=232678")] [TestProperty("Kits.Parameter.DQ.Default", "INF::OriginalInfFileName='%InfFileName%'")] // TODO: Required properties to be customized to match your test requirements. [TestProperty("Description", "Plug and Play Surprise Remove Generated Template")] [TestProperty("Kits.DisplayName", "My Plug and Play Surprise Remove Test")] [TestProperty("Kits.Category", "My Test Category")] [TestProperty("RebootPossible", "true")] // Optional properties (see Windows Driver Kit documentation for additional optional properties): [TestProperty("Kits.Drivers.ResultFile", "TestTextLog.log")]
Компонент скрипта Windows (WSC)
<!-- Define a test method with metadata: --> <method name="PlugAndPlaySurpriseRemoveTest"> <!-- Required properties for ERT--> <TestMethodProperty name="Kits.Drivers" value="TRUE"/> <TestMethodProperty name="Kits.Parameter" value="DQ"/> <TestMethodProperty name="Kits.Parameter.DQ.Description" value="A WDTF SDEL query that is used to identify the target device(s) - https://go.microsoft.com/fwlink/p/?linkid=232678"/> <TestMethodProperty name="Kits.Parameter.DQ.Default" value="INF::OriginalInfFileName='%InfFileName%'"/> <TestMethodProperty name="RebootPossible" value="true" /> <!-- TODO: Properties to be customized to match your test requirements --> <TestMethodProperty name="Description" value="Plug and Play Surprise Remove Generated Template"/> <TestMethodProperty name="Kits.DisplayName" value="My Plug and Play Surprise Remove Test"/> <TestMethodProperty name="Kits.Category" value="My Test Category"/> <!-- Optional properties for ERT--> <TestMethodProperty name="Kits.Drivers.ResultFile" value="TestTextLog.log"/> <!-- (see Windows Driver Kit documentation for additional optional properties) --> </method>
В следующей таблице описаны атрибуты свойства теста. Используйте примеры инструкций по редактированию или добавлению метаданных для тестов.
Описание
Краткое описание того, что делает тест.[Script] < TestProperty name="Description" value= "This test cycles the system through various sleep states and performs IO on devices before and after each sleep state cycle"/>
C++ [C++]
TEST_METHOD_PROPERTY(L"Description", L"Plug and Play Surprise Remove Generated Template")
Displayname
Имя теста, как показано в разделе Тест драйвера.[Скрипт]
< TestProperty name="Kits.DisplayName" value="Sleep with IO Before and After"/>
C++ [C++]
TEST_METHOD_PROPERTY(L"Kits.DisplayName", L"My Plug and Play Surprise Remove Test")
Kits.Parameter
Стандартный параметр для вызова метода. Тест может иметь несколько параметров.[Скрипт]
<ModuleProperty name="Kits.Parameter" value="TM"/>
C++ [C++]
TEST_METHOD_PROPERTY(L"Kits.Parameter", L"DQ")
Kits.Parameter.<ParameterName>. Описание
Описание параметра.[Скрипт]
< TestProperty name="Kits.Parameter.TM.Description" value="Test mode parameter: Logo or Simple"/>
C++ [C++]
TEST_METHOD_PROPERTY(L"Kits.Parameter.DQ.Description", L"A WDTF SDEL query that is used to identify the target device(s)")
Kits.Parameter.<ParameterName>. По умолчанию
Значение, принимаемое данным параметром по умолчанию.[Скрипт]
< TestProperty name="Kits.Parameter.TM.Default" value="Logo"/>
C++ [C++]
TEST_METHOD_PROPERTY(L"Kits.Parameter.DQ.Default", L"INF::OriginalInfFileName='%InfFileName%'")
Kits.Drivers
Этот атрибут помечает тест на включение в WDK.[Скрипт]
< TestProperty name="Kits.Drivers" value=""/>
C++ [C++]
TEST_METHOD_PROPERTY(L"Kits.Drivers", L"TRUE")
Kits.Category
Описывает категорию теста.[Скрипт]
< TestProperty name="Kits.Category" value="Logo\Device Fundamentals"/>
C++ [C++]
TEST_METHOD_PROPERTY(L"Kits.Category", L"My Test Category")
Deploymentitem
Определяет файлы и (или) папки как тестовые зависимости. Они могут содержать все ресурсы, необходимые для выполнения тестов. Дополнительные сведения об использовании этих метаданных см. в разделе Метаданные DeploymentItem.