Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Kromě C++ a C# podporuje taEF také vytváření testů ve skriptovacích jazycích.
Součásti skriptu vytvoříte pomocí libovolného skriptovacího jazyka, který podporuje rozhraní Microsoft COM Scripting. Mezi skriptovací jazyky, které podporují tato rozhraní, patří JScript, Microsoft Visual Basic Scripting Edition (VBScript), PERLScript, PScript, Ruby a Python.
Aktuální omezení vytváření testů skriptů
Systém Windows podporuje pouze JScript a VBScript.
Formát souboru testu skriptu
Pro testy jazyka skriptů používá TAEF mírně upravený formát souboru Součásti skriptů systému Windows . Následující příklady ukazují testovací soubor, který obsahuje třídy testů VBScript a JScript.
1 <?xml version="1.0" ?>
2
3 <!-- Debugging helpers -->
4 <!-- error Set this to true to display detailed error messages for syntax or run-time errors in the script component.-->
5 <!-- debug Set this to true to enable debugging. If this debugging is not enabled, you cannot launch the script debugger for a script -->
6 <?component error="true" debug="true"?>
7
8 <package>
9 <!-- Test module metadata -->
10 <ModuleProperty name="Owner" value="Someone"/>
11
12 <!-- Define a test class -->
13 <component id="VBSampleTests">
14 <!-- define and instantiate a logger -->
15 <object id="Log" progid="WEX.Logger.Log" />
16
17 <!-- include a reference to the logger so you could use the constants defined in logger library -->
18 <reference guid="e65ef678-a232-42a7-8a36-63108d719f31" version="1.0"/>
19
20 <!-- Test class metadata -->
21 <TestClassProperty name="DocumentationUrl" value="http://shelltestkb/"/>
22
23 <public>
24 <!-- Define a test method with metadata -->
25 <method name="TestOne">
26 <!-- Test method metadata -->
27 <TestMethodProperty name="Priority" value="1"/>
28 </method>
29
30 <!-- Define a test method without metadata -->
31 <method name="TestTwo"/>
32 </public>
33
34 <script language="VBScript">
35 <![CDATA[
36 Function TestOne()
37 Log.Comment("Calling TestOne")
38 End Function
39
40 Function TestTwo()
41 Log.Comment("Calling TestTwo")
42 End Function
43 ]] >
44 </script>
45 </component>
46
47 <!-- Define another test class -->
48 <component id="JScriptSampleTests">
49 <object id="Log" progid="WEX.Logger.Log" />
50
51 <!-- need reference to use logger constants -->
52 <reference guid="e65ef678-a232-42a7-8a36-63108d719f31" version="1.0"/>
53
54 <public>
55 <!-- Test setup and cleanup methods are declared using corresponding type = '' attributes -->
56 <method name="ClassSetup" type="TestClassSetup"/>
57 <method name="ClassCleanup" type="TestClassCleanup"/>
58 <method name="MethodSetup" type="TestMethodSetup"/>
59 <method name="MethodCleanup" type="TestMethodCleanup"/>
60
61 <method name="TestOne"/>
62 <method name="TestTwo"/>
63 </public>
64
65 <!-- Setup and Cleanup methods return false on failure -->
66 <script language="JScript">
67 <![CDATA[
68 function ClassSetup()
69 {
70 Log.Comment("Calling class setup");
71 return true;
72 }
73
74 function ClassCleanup()
75 {
76 Log.Comment("Calling class cleanup");
77 return true;
78 }
79
80 function MethodSetup()
81 {
82 Log.Comment("Calling method setup");
83 return true;
84 }
85
86 function MethodCleanup()
87 {
88 Log.Comment("Calling method cleanup");
89 return true;
90 }
91
92 function TestOne()
93 {
94 Log.Comment("Calling TestOne");
95
96 // For the purpose of demonstration, declare the test failed
97 Log.Result(TestResult_Failed);
98 }
99
100 function TestTwo()
101 {
102 Log.Comment("Calling TestTwo");
103 }
104 ]] >
105 </script>
106 </component>
107 </package>
Tento příklad je soubor XML a začíná běžnou hlavičkou XML:
<?xml version="1.0" ?>
Nastavení ladění pro soubor nakonfigurujete tak, že nastavíte atributy error a debug:
<?component error="true" debug="true"?>
- Nastavte parametr chyba na true, aby se v komponentě skriptu zobrazila podrobná hlášení pro syntaktické nebo vykonávací chyby.
- Nastavte debug na true k povolení ladění. Pokud ladění není povolené, nemůžete spustit ladicí program skriptu pro skript (například pomocí klíčového slova ladění v kódu JScript).
Element <package> uzavře definice testovací třídy do souboru .wsc . Po tomto elementu můžete vložit metadata na úrovni modulu přidáním elementů ModuleProperty :
<ModuleProperty name = "Owner" value = "Someone"/>
ModuleProperty element musí obsahovat atributy name a value.
Element Component spustí deklaraci pro testovací třídu skriptu. Tento prvek by měl mít vždy atribut ID , který je nastaven na název třídy.
Za Component element můžete vložit metadata na úrovni třídy pomocí TestClassProperty elementu. Stejně jako u moduleProperty elementu musí mít atributy name a value .
V tomto okamžiku můžete také vytvářet objekty a definovat odkazy na objekty. Další informace najdete v části Další komponenty . Řádky 15, 18, 49 a 52 v příkladu XML ukazují, jak odkazovat a inicializovat WEX. Logger.Log – objekt.
Veřejný<> element uzavře deklarace testovací metody modulu testovacího skriptu. Deklarujete testovací metodu zadáním názvu testovací metody v atributu name elementu <metody> . Do elementu <method> můžete také přidat vlastnost testovací metody. Stejně jako u vlastností na ostatních úrovních to není povinné. Pokud ho ale přidáte, musíte zahrnout atributy názvu a hodnoty .
Element <script> identifikuje jazyk testovacího skriptu a uzavře implementaci testovacích metod.
The <![ Část CDATA[]]> obsahuje skutečnou implementaci testů – kód napsaný ve skriptovacím jazyce. V této části implementujete testovací metody, které jste deklarovali ve <veřejné></veřejné> sekci.