Condividi tramite


Come aggiungere metadati di test

Per Windows 8, Windows Driver Kit (WDK) usa Test Authoring and Execution Framework (TAEF) per la creazione di contenuto di test. Un test TAEF è un oggetto implementato come libreria di collegamento dinamico (DLL) che contiene più metodi, in cui ogni metodo esegue il mapping a uno scenario di test specifico. L'oggetto TAEF combina metodi correlati in un gruppo di test. Per ogni test è disponibile un set di metadati che descrive il test. Per migliorare la portabilità dei test e l'incapsulamento, TAEF archivia i metadati di test all'interno dell'oggetto test stesso. Quando si creano test driver personalizzati usando i modelli di test driver, è necessario aggiungere questi metadati in modo che i test driver siano disponibili e possano essere distribuiti usando Visual Studio.

Prerequisiti

Per aggiungere attributi dei metadati di test

  1. Aggiungere i metadati delle proprietà di test necessari ai file di origine per il test.

  2. Ad esempio, se si usa il modello test driver per creare la versione del test SurpriseRemove, vengono aggiunti i metadati seguenti. Modificare la descrizione del test, il nome visualizzato, la categoria e gli attributi dei file dei risultati.

    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 di Windows (con estensione 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. Nella tabella seguente vengono descritti gli attributi delle proprietà di test. Usare gli esempi per istruzioni durante la modifica o l'aggiunta dei metadati per i test.

    Descrizione
    Breve descrizione delle operazioni del test.

    [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
    Nome del test come illustrato in Test 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
    Parametro standard per una chiamata al metodo. Un test può avere più parametri.

                  
                  [Script]

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

    C++
                  
                  [C++]

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

    Kits.Parameter.<ParameterName>. Descrizione
    Descrizione del parametro.

                  
                  [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>. Predefinito
    Valore predefinito del parametro.

                  
                  [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
    Questo attributo contrassegna il test per l'inclusione in WDK.

                  
                  [Script]

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

    C++
                  
                  [C++]

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

    Kits.Category
    Descrive la categoria di un test.

                  
                   [Script]

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

    C++
                  
                   [C++]

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

    Deploymentitem
    Identifica i file e/o le cartelle come dipendenze di test. Questi possono contenere tutte le risorse necessarie per eseguire i test. Per altre informazioni sull'uso di questi metadati, vedere Metadati di DeploymentItem.