Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Test Authoring and Execution Framework (TAEF) menyediakan mekanisme untuk menjalankan atau menghilangkan pengujian tertentu secara selektif berdasarkan informasi metadata yang Anda berikan. Bagian berikut membahas berbagai contoh cara menggunakan mekanisme pemilihan ini dengan TE.exe.
Anda dapat menjalankan TE.exe dari jendela prompt perintah.
TE <test_binaries> [/select:<selection criteria>]
Bagian ini menjelaskan opsi TE.exe /select:kriteria seleksi. Untuk informasi selengkapnya tentang TE.exe, lihat Opsi PerintahTE.exe.
Kriteria pemilihan diberlakukan secara global ke semua biner pengujian yang dinyatakan di baris perintah. Mari kita pertimbangkan dua test_binaries: Contoh\CPP.SelectionCriteria1.Example.dll dan Contoh\CPP.SelectionCriteria2.Example.dll . Contoh berikut menunjukkan properti, atau metadata, yang ditentukan pada berbagai tingkatan dalam test_binaries ini. Anda juga dapat memperoleh ini dengan menentukan opsi /listproperties di jendela Prompt Perintah.
CPP.SelectionCriteria1.Example.dll (Owner="C1", Priority=3)
class11 (Owner="C2")
method111(Priority=1)
method112 (BackwardsCompatibility="Windows 2000")
class12
method121
CPP.SelectionCriteria2.Example.dll (Owner="WEX")
class21 (Owner="C1", Priority=2, BackwardsCompatibility="Windows XP")
method211 (Owner="C2")
class22 (Owner="U3")
method221
Dengan kata lain, dengan menggunakan /listproperties pada masing-masing test_binaries ini secara terpisah, Anda mendapatkan:
F:\fsd1.binaries.x86chk\WexTest\C1\TestExecution>te Examples\CPP.SelectionCriteria1.Example.dll /listproperties
Test Authoring and Execution Framework v2.2 Build 6.1.7689.0 (release.091218-1251) for x86
F:\fsd1.binaries.x86chk\WexTest\C1\TestExecution\Examples\CPP.SelectionCriteria1.Example.dll
Property[Owner] = C1
Property[Priority] = 3
WEX::TestExecution::Examples::Class11
Property[Owner] = C2
WEX::TestExecution::Examples::Class11::Method111
Property[Priority] = 1
WEX::TestExecution::Examples::Class11::Method112
Property[BackwardsCompatibility] = Windows2000
WEX::TestExecution::Examples::Class12
WEX::TestExecution::Examples::Class12::Method121
Dan:
F:\fsd1.binaries.x86chk\WexTest\C1\TestExecution>te Examples\CPP.SelectionCriteria2.Example.dll /listproperties
Test Authoring and Execution Framework v2.2 Build 6.1.7689.0 (release.091218-1251) for x86
F:\fsd1.binaries.x86chk\WexTest\C1\TestExecution\Examples\CPP.SelectionCriteria2.Example.dll
Property[Owner] = WEX
WEX::TestExecution::Examples::Class21
Property[BackwardsCompatibility] = Windows XP
Property[Owner] = C1
Property[Priority] = 2
WEX::TestExecution::Examples::Class21::Method211
Property[Owner] = C2
WEX::TestExecution::Examples::Class22
Property[Owner] = U3
WEX::TestExecution::Examples::Class22::Method221
Penting untuk dicatat pada titik ini bahwa test_binaries tercantum bersama dengan jalur lengkapnya, dan nama kelas tercantum sebagai "<Namespace>::<ClassName>" dalam kasus test_binaries asli dan "<Namespace.><ClassName>" dalam kasus test_binaries terkelola. Demikian pula, nama metode pengujian terdaftar sebagai "<Namespace>::<ClassName>::<TestMethodName>" dalam kasus test_binaries asli dan "<Namespace>.<ClassName>.<TestMethodName>" dalam kasus test_binaries terkelola.
Dengan kata lain, nama yang sepenuhnya memenuhi syarat dari nama atau fungsi apa pun adalah apa yang disimpan di te. Ini untuk memungkinkan kemampuan untuk membedakan metode apa pun secara unik. Misalnya jika dua kelas memiliki nama metode yang sama, kualifikasi kelas membantu memilih metode yang Anda minati secara unik. Untuk keperluan ini, kriteria pemilihan membantu menjalankan hanya pengujian yang sesuai dengan kriteria Anda dalam test_binaries yang diberikan.
Dalam contoh di atas, katakanlah dalam Contoh\Cpp.SelectionCriteria1.Example.dll, Anda dapat memilih "Method111" dengan salah satu kriteria pilihan berikut:
Te.exe Examples\CPP.SelectionCriteria1.Example.dll /select:"@Name='WEX::TestExecution::Examples::Class11::Method111'"
Te.exe Examples\CPP.SelectionCriteria1.Example.dll /select:"@Name='*Class11::Method111'"
Te.exe Examples\CPP.SelectionCriteria1.Example.dll /select:"@Name='*Method111'"
Anda dapat memilih untuk menjalankan semua pengujian yang telah ditandai dengan "Prioritas" di bawah 2 dengan menggunakan perintah:
Te.exe Examples\CPP.SelectionCriteria1.Example.dll Examples\CPP.SelectionCriteria2.Example.dll /select:"@Priority < 2"
Ini hanya akan menjalankan Contoh\CPP.SelectionCriteria1.Example.dll - "class11::method111" dalam contoh kami.
Jika Anda ingin menjalankan semua pengujian dalam class11, Anda dapat menggunakan properti "Nama" yang sudah dikualifikasikan bersama dengan pencocokan wildcard untuk memilihnya sebagai berikut:
Te.exe Examples\CPP.SelectionCriteria1.Example.dll Examples\CPP.SelectionCriteria2.Example.dll
/select:"@Name='*::class11::*'"
Saat menggunakan kriteria pemilihan, ada beberapa hal yang berguna untuk diingat:
- "dan", "tidak", dan "atau" adalah kata cadangan dan tidak sensitif terhadap huruf besar/kecil."
- nama dan nilai properti metadata tidak membedakan huruf besar dan kecil, misalnya "C2" dalam contoh, akan cocok dengan "c2" dan "C2". Oleh karena itu, jika Anda memiliki satu fungsi dengan metadata "properti" dan satu lagi dengan "Properti" dan kriteria pemilihan mencari "PROPERTY", maka keduanya akan cocok.
- Nilai string dalam string kueri pilihan harus disertakan dalam tanda kutip tunggal. Dalam nilai string pada kueri pemilihan, "?" adalah karakter pengecoh tunggal dan "*" adalah 0 atau lebih karakter bebas.
- Saat menggunakan tanda kutip di prompt perintah Anda, perhatikan tanda kutip cerdas saat Anda menyalin kueri pilihan. Jika Anda menyalin kueri pilihan dari email Outlook, Anda mungkin tidak sengaja memiliki tanda kutip pintar, dan TAEF mungkin tidak dapat mengurainya. Ketik tanda kutip sebagai gantinya.
Mari kita membahas beberapa contoh singkat kriteria pemilihan kombinasi dan apa yang akan dieksekusi.
Te.exe Examples\CPP.SelectionCriteria1.Example.dll Examples\CPP.SelectionCriteria2.Example.dll \
/select:"@Owner='C2' AND @Priority=2"
Akan berjalan:
- Contoh\CPP.SelectionCriteria2.Example.dll - class21::method211
Te.exe Examples\CPP.SelectionCriteria1.Example.dll Examples\CPP.SelectionCriteria2.Example.dll \
/select:"@Owner='C2' AND @Priority=3"
Akan berjalan:
- Contoh\CPP.SelectionCriteria1.Example.dll - class11::method112
Te.exe Examples\CPP.SelectionCriteria1.Example.dll Examples\CPP.SelectionCriteria2.Example.dll \
/select:"@Owner='U3' oR @Priority=1"
Akan berjalan:
- Contoh\CPP.SelectionCriteria1.Example.dll - class11::method111
- Contoh\CPP.SelectionCriteria2.Example.dll - class22::method221
Te.exe Examples\CPP.SelectionCriteria1.Example.dll Examples\CPP.SelectionCriteria2.Example.dll \
/select:"not(@BackwardsCompatibility=*)"
Akan menjalankan semua pengujian di mana nilai BackwardsCompatibility belum ditentukan. (Lihat item berikut.)
- Contoh\CPP.SelectionCriteria1.Example.dll - class11::method111, class12::method121
- Contoh\CPP.SelectionCriteria2.Example.dll - class22::method221
Te.exe Examples\CPP.SelectionCriteria1.Example.dll Examples\CPP.SelectionCriteria2.Example.dll \
/select:"@Owner='C*'"
akan menjalankan semua pengujian di mana nilai Pemilik dimulai dengan "C" (tidak peka huruf besar/kecil). Dengan demikian, perintah sebelumnya akan menjalankan semua pengujian dalam Contoh\CPP.SelectionCriteria1.Example.dll and all tests in Examples\CPP.SelectionCriteria2.Example.dll di bawah class21 (yaitu, method211)
Te.exe Examples\CPP.SelectionCriteria1.Example.dll Examples\CPP.SelectionCriteria2.Example.dll \
/select:"not(@BackwardsCompatibility=*) OR (@Owner='C*' AND @BackwardsCompatibility='*XP*')"
akan menjalankan semua pengujian di mana BackwardsCompatibility tidak ditentukan atau di mana nama pemilik dimulai dengan "C" dan nilai BackwardsCompatibility berisi XP. PERHATIKAN bagaimana tanda kurung "(" dan ")" digunakan untuk menentukan urutan prioritas.
Dalam contoh, ini akan berjalan secara selektif:
- Contoh\CPP.SelectionCriteria1.Example.dll - class11::method111, class12::method121,
- Contoh\CPP.SelectionCriteria2.Example.dll - class21::method211, class22::method221
Te.exe Examples\CPP.SelectionCriteria1.Example.dll Examples\CPP.SelectionCriteria2.Example.dll /select:"@Owner='???'"
hanya akan menjalankan pengujian yang memiliki nilai pemilik properti yang hanya berisi 3 karakter.
Dalam contoh kami, ini akan cocok dengan "C" dan kemudian hanya menjalankan:
- Contoh\CPP.SelectionCriteria1.Example.dll - class12::method121
Te.exe Examples\CPP.SelectionCriteria1.Example.dll Examples\CPP.SelectionCriteria2.Example.dll /select:"@Priority>=1"
Nota
Ini adalah contoh yang baik tentang bagaimana Anda dapat menggunakan ">=", "<=", ">" dan "<" di mana propertyvalues adalah floatvalues.
Dalam contoh kami, ini akan menjalankan semua metode kecuali Contoh\CPP.SelectionCriteria2.Example.dll - class22::method221, di mana tidak ada proritas yang ditentukan. Dengan kata lain, ini akan berjalan:
- Contoh\CPP.SelectionCriteria1.Example.dll - class11::method111, class11::method112, class12::method121
- Contoh\CPP.SelectionCriteria2.Example.dll - class21::method211.
PERHATIKAN bahwa Anda dapat menggunakan "/select" bersama dengan opsi perintah lain seperti "/list" "/listproperties" dll.
Kutipan Cerdas
Anda mungkin menemukan tanda kutip pintar dalam kriteria pilihan Anda jika Anda menyalin kriteria pilihan dari dokumen Outlook atau Word kembali ke prompt perintah Anda. Anda dapat menemukan informasi selengkapnya tentang apa itu "smart quotes" di "Smart quotes": Momok tersembunyi pada teks yang ditujukan untuk konsumsi komputer
Tidak ada cara mudah untuk menghindari tanda kutip cerdas - pendekatan terbaik adalah menghapus semua tanda kutip ganda " dan tanda kutip tunggal ' dalam kriteria pemilihan setelah Anda menyalinnya ke jendela perintah dan mengetik ulang bagian tanda kutip pada kueri tersebut.
Ada pengaturan opsi untuk menonaktifkannya saat membuat pesan di Outlook. Ketik "tanda kutip pintar" ke dalam kotak bantuan Outlook untuk menemukan ini.
Pemilihan Berdasarkan Nama Cepat
TAEF memungkinkan pemilihan cepat berdasarkan nama pada prompt perintah menggunakan parameter baris perintah '/name':
/name:<test name with wildcards>
setara dengan:
/select:@Name='<test name with wildcards>'
Dengan kata lain, Anda sekarang bisa memberikan kueri pilihan berdasarkan nama seperti:
Te.exe Examples\CPP.SelectionCriteria1.Example.dll Examples\CPP.SelectionCriteria2.Example.dll \
/select:"@Name='*::class11::*'"
lebih cepat dengan menggunakan /name seperti:
Te.exe Examples\CPP.SelectionCriteria1.Example.dll Examples\CPP.SelectionCriteria2.Example.dll /name=*::class11::*
Perhatikan bahwa jika /name dan /select disediakan pada prompt perintah, maka /name diabaikan dan /select lebih diutamakan.