Partilhar via


Como adicionar metadados de teste

Para Windows 8, o WDK (Kit de Driver do Windows) usa a TAEF (Estrutura de Criação e Execução de Teste) para criar conteúdo de teste. Um teste TAEF é um objeto implementado como uma DLL (biblioteca de vínculo dinâmico) que contém vários métodos, em que cada método é mapeado para um cenário de teste específico. O objeto TAEF combina métodos relacionados em um grupo de testes. Para cada teste, há um conjunto de metadados que descreve o teste. Para melhorar a portabilidade e o encapsulamento de teste, o TAEF armazena metadados de teste dentro do próprio objeto de teste. Ao criar seus próprios testes de driver usando os modelos de Teste de Driver, você precisa adicionar esses metadados para que os testes de driver estejam disponíveis e possam ser implantados usando o Visual Studio.

Pré-requisitos

Para adicionar atributos de metadados de teste

  1. Adicione os metadados de propriedade de teste necessários aos arquivos de origem para o teste.

  2. Por exemplo, se você usar o modelo de Teste de Driver para criar sua versão do teste SurpriseRemove, os metadados a seguir serão adicionados. Edite a descrição do teste, o nome de exibição, a categoria e os atributos de arquivo de resultados.

    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")]

    Componente script do 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. A tabela a seguir descreve os atributos da propriedade de teste. Use os exemplos de diretrizes ao editar ou adicionar os metadados para seus testes.

    Description
    Uma breve descrição do que o teste faz.

    [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
    O nome do teste, conforme mostrado no Teste de Driver.

                  
                  [Script]

    < 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
    Um parâmetro padrão para uma chamada de método. Um teste pode ter vários parâmetros.

                  
                  [Script]

    <ModuleProperty name="Kits.Parameter" value="TM"/>

    C++
                  
                  [C++]

    TEST_METHOD_PROPERTY(L"Kits.Parameter", L"DQ")

    Kits.Parameter.<ParameterName>. Descrição
    A descrição do parâmetro .

                  
                  [Script]

    < 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>. Padrão
    O valor padrão do parâmetro.

                  
                  [Script]

    < TestProperty name="Kits.Parameter.TM.Default" value="Logo"/>

    C++
                  
                  [C++]

    TEST_METHOD_PROPERTY(L"Kits.Parameter.DQ.Default", L"INF::OriginalInfFileName='%InfFileName%'")

    Kits.Drivers
    Esse atributo marca o teste para inclusão no WDK.

                  
                  [Script]

    < TestProperty name="Kits.Drivers" value=""/>

    C++
                  
                  [C++]

    TEST_METHOD_PROPERTY(L"Kits.Drivers", L"TRUE")

    Kits.Category
    Descreve a categoria de um teste.

                  
                   [Script]

    < TestProperty name="Kits.Category" value="Logo\Device Fundamentals"/>

    C++
                  
                   [C++]

    TEST_METHOD_PROPERTY(L"Kits.Category", L"My Test Category")

    Deploymentitem
    Identifica arquivos e/ou pastas como dependências de teste. Eles podem conter todos os recursos necessários para executar os testes. Para obter mais informações sobre como usar esses metadados, consulte DeploymentItem Metadata.