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


Добавление метаданных теста

Для Windows 8 комплект драйверов Windows (WDK) использует платформу разработки и выполнения тестов (TAEF) для создания тестового содержимого. Тест TAEF — это объект, реализованный в виде библиотеки динамической компоновки (DLL), которая содержит несколько методов, где каждый метод сопоставляется с определенным сценарием тестирования. Объект TAEF объединяет связанные методы в группу тестов. Для каждого теста существует набор метаданных, описывающих тест. Чтобы повысить переносимость и инкапсуляцию тестов, TAEF сохраняет метаданные теста в самом тестовом объекте. При создании собственных тестов драйверов с помощью шаблонов тестов драйверов необходимо добавить эти метаданные, чтобы тесты драйверов были доступны и могли быть развернуты с помощью Visual Studio.

Необходимые условия

Добавление атрибутов метаданных теста

  1. Добавьте необходимые метаданные свойства теста в исходные файлы для теста.

  2. Например, если вы используете шаблон "Тест драйвера" для создания версии теста 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>
  3. В следующей таблице описаны атрибуты свойства теста. Используйте примеры инструкций по редактированию или добавлению метаданных для тестов.

    Описание
    Краткое описание того, что делает тест.

    [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.