Comment ajouter des métadonnées de test
Par Windows 8, le Kit de pilotes Windows (WDK) utilise l’infrastructure TAEF (Test Authoring and Execution Framework) pour créer du contenu de test. Un test TAEF est un objet implémenté en tant que bibliothèque de liens dynamiques (DLL) qui contient plusieurs méthodes, où chaque méthode est mappée à un scénario de test spécifique. L’objet TAEF combine des méthodes associées dans un groupe de tests. Pour chaque test, il existe un ensemble de métadonnées qui décrit le test. Pour améliorer la portabilité et l’encapsulation des tests, TAEF stocke les métadonnées de test dans l’objet de test lui-même. Lorsque vous créez vos propres tests de pilotes à l’aide des modèles de test de pilote, vous devez ajouter ces métadonnées afin que vos tests de pilotes soient disponibles et puissent être déployés à l’aide de Visual Studio.
Conditions préalables
- Code source d’un test de pilote écrit à l’aide de l’un des modèles de test de pilote. Pour plus d’informations, consultez Comment écrire un test de pilote à l’aide d’un modèle de test de pilote.
Pour ajouter des attributs de métadonnées de test
Ajoutez les métadonnées de propriété de test requises aux fichiers sources de votre test.
Par exemple, si vous utilisez le modèle Test du pilote pour créer votre version du test SurpriseRemove, les métadonnées suivantes sont ajoutées. Modifiez la description du test, le nom complet, la catégorie et les attributs du fichier de résultats.
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")]
Composant Script 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>
Le tableau suivant décrit les attributs de propriété de test. Utilisez les exemples pour obtenir des conseils lorsque vous modifiez ou ajoutez les métadonnées de vos tests.
Description
Brève description de ce que fait le 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
Nom du test tel qu’il est indiqué dans Test du pilote.[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
Paramètre standard pour un appel de méthode. Un test peut avoir plusieurs paramètres.[Script]
<ModuleProperty name="Kits.Parameter" value="TM"/>
C++ [C++]
TEST_METHOD_PROPERTY(L"Kits.Parameter", L"DQ")
Kits.Parameter.<ParameterName>. Description
Description du paramètre.[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>. Par défaut
Valeur par défaut du paramètre.[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
Cet attribut marque le test à inclure dans le WDK.[Script]
< TestProperty name="Kits.Drivers" value=""/>
C++ [C++]
TEST_METHOD_PROPERTY(L"Kits.Drivers", L"TRUE")
Kits.Category
Décrit la catégorie d’un test.[Script]
< TestProperty name="Kits.Category" value="Logo\Device Fundamentals"/>
C++ [C++]
TEST_METHOD_PROPERTY(L"Kits.Category", L"My Test Category")
Élément de déploiement
Identifie les fichiers et/ou dossiers en tant que dépendances de test. Ceux-ci peuvent contenir toutes les ressources nécessaires à l’exécution des tests. Pour plus d’informations sur l’utilisation de ces métadonnées, consultez DeploymentItem Metadata.