Hinzufügen von Testmetadaten
Für Windows 8 verwendet das Windows Driver Kit (WDK) das Test Authoring and Execution Framework (TAEF) zum Erstellen von Testinhalten. Ein TAEF-Test ist ein Objekt, das als Dll (Dynamic Link Library) implementiert wird und mehrere Methoden enthält, wobei jede Methode einem bestimmten Testszenario zugeordnet ist. Das TAEF-Objekt kombiniert verwandte Methoden in einer Gruppe von Tests. Für jeden Test gibt es eine Reihe von Metadaten, die den Test beschreiben. Um die Testportabilität und Kapselung zu verbessern, speichert TAEF Testmetadaten im Testobjekt selbst. Wenn Sie eigene Treibertests mithilfe der Treibertestvorlagen erstellen, müssen Sie diese Metadaten hinzufügen, damit Ihre Treibertests verfügbar sind und mit Visual Studio bereitgestellt werden können.
Voraussetzungen
- Der Quellcode für einen Treibertest, der mithilfe einer der Treibertestvorlagen geschrieben wurde. Weitere Informationen finden Sie unter Schreiben eines Treibertests mithilfe einer Treibertestvorlage.
So fügen Sie Testmetadatenattribute hinzu
Fügen Sie den Quelldateien für Ihren Test die erforderlichen Testeigenschaftenmetadaten hinzu.
Wenn Sie beispielsweise die Treibertestvorlage verwenden, um Ihre Version des SurpriseRemove-Tests zu erstellen, werden die folgenden Metadaten hinzugefügt. Bearbeiten Sie die Attribute der Testbeschreibung, des Anzeigenamens, der Kategorie und der Ergebnisdatei.
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 Script-Komponente (.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>
In der folgenden Tabelle werden die Testeigenschaftsattribute beschrieben. Verwenden Sie die Beispiele als Anleitung, wenn Sie die Metadaten für Ihre Tests bearbeiten oder hinzufügen.
Description
Eine kurze Beschreibung der Funktionsweise des Tests.[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
Der Name des Tests, wie er unter Treibertest angezeigt wird.[Skript]
< 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
Ein Standardparameter für einen Methodenaufruf. Ein Test kann mehrere Parameter aufweisen.[Skript]
<ModuleProperty name="Kits.Parameter" value="TM"/>
C++ [C++]
TEST_METHOD_PROPERTY(L"Kits.Parameter", L"DQ")
Kits.Parameter.<ParameterName>. Beschreibung
Die Beschreibung für den Parameter.[Skript]
< 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>. Standard
Der Standardwert für den Parameter.[Skript]
< TestProperty name="Kits.Parameter.TM.Default" value="Logo"/>
C++ [C++]
TEST_METHOD_PROPERTY(L"Kits.Parameter.DQ.Default", L"INF::OriginalInfFileName='%InfFileName%'")
Kits.Drivers
Dieses Attribut markiert den Test für die Aufnahme in das WDK.[Skript]
< TestProperty name="Kits.Drivers" value=""/>
C++ [C++]
TEST_METHOD_PROPERTY(L"Kits.Drivers", L"TRUE")
Kits.Category
Beschreibt die Kategorie eines Tests.[Skript]
< TestProperty name="Kits.Category" value="Logo\Device Fundamentals"/>
C++ [C++]
TEST_METHOD_PROPERTY(L"Kits.Category", L"My Test Category")
Deploymentitem
Identifiziert Dateien und/oder Ordner als Testabhängigkeiten. Diese können alle Ressourcen enthalten, die zum Ausführen der Tests erforderlich sind. Weitere Informationen zur Verwendung dieser Metadaten finden Sie unter DeploymentItem Metadata.