Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Test Yazma ve Yürütme Çerçevesi (TAEF), sağladığınız meta veri bilgilerine göre belirli testleri seçmeli olarak çalıştırmaya veya atlamaya yönelik bir mekanizma sağlar. Aşağıdaki bölümde, TE.exeile bu seçim mekanizmasının nasıl kullanılacağına ilişkin çeşitli örnekler verilmiştir.
TE.exe komut istemi penceresinden çalıştırabilirsiniz.
TE <test_binaries> [/select:<selection criteria>]
Bu bölümde TE.exe /select:selection ölçütleri seçeneği açıklanmaktadır. TE.exehakkında daha fazla bilgi için bkz. TE.exe Komut Seçenekleri.
Seçim ölçütleri, komut isteminde bahsedilen tüm test ikili dosyalarına genel olarak uygulanır. İki test_binaries ele alalım: Örnekler\CPP.SelectionCriteria1.Example.dll ve Örnekler\CPP.SelectionCriteria2.Example.dll . Aşağıdaki örnek, bu test_binaries içindeki çeşitli düzeylerde belirtilen özellikleri veya metadata'yı gösterir. Komut İstemi penceresinde /listproperties seçeneğini belirterek de bunu elde edebilirsiniz.
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
Başka bir deyişle, bu test_binaries her birinde ayrı ayrı /listproperties kullanarak şunları elde edersiniz:
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
Ve:
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
Bu noktada, test_binaries'in tam yolları ile birlikte listelendiğini ve sınıf adlarının yerel test_binaries durumunda "<Namespace>::<ClassName>" ve yönetilen test_binaries durumunda "<Namespace>.<ClassName>" olarak listelendiğini unutmayın. Benzer şekilde, test yöntemi adları, yerel test_binaries durumu için "<Namespace>::<ClassName>::<TestMethodName>" ve yönetilen test_binaries durumu için "<Namespace>.<ClassName>.<TestMethodName>" olarak listelenir.
Başka bir deyişle, herhangi bir ad veya işlevin tam nitelikli adı "te"de kaydedilir. Bu, herhangi bir yöntemi benzersiz olarak ayırt edebilme olanağı sağlamaktır. Örneğin, iki sınıf aynı yöntem adına sahipse, sınıf niteliği ilgilendiğiniz yöntemi benzersiz olarak seçmenize yardımcı olur. Bu sona doğru, seçim ölçütleri yalnızca verilen test_binaries ölçütlerinizle eşleşen testleri çalıştırmaya yardımcı olur.
Yukarıdaki örnekte, Örnekler\Cpp.SelectionCriteria1.Example.dllbölümünde aşağıdaki seçim ölçütlerinden herhangi birine göre "Yöntem111" seçeneğini belirleyebilirsiniz:
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'"
Şu komutu çalıştırarak 2'den küçük "Öncelik" ile işaretlenmiş tüm testleri çalıştırmayı seçebilirsiniz:
Te.exe Examples\CPP.SelectionCriteria1.Example.dll Examples\CPP.SelectionCriteria2.Example.dll /select:"@Priority < 2"
Bu, örneğimizde yalnızca Örnekler\CPP.SelectionCriteria1.Example.dll - "class11::method111" çalıştırır.
Sınıf11 altında tüm testleri çalıştırmak istiyorsanız, aşağıdaki gibi seçmek için joker karakter eşleştirmesiyle birlikte nitelenmiş "Ad" özelliğini kullanabilirsiniz:
Te.exe Examples\CPP.SelectionCriteria1.Example.dll Examples\CPP.SelectionCriteria2.Example.dll
/select:"@Name='*::class11::*'"
Seçim ölçütlerini kullanırken göz önünde bulundurmak için yararlı olan bazı şeyler vardır:
- "ve", "değil" ve "veya" rezerve sözcüklerdir ve büyük/küçük harfe duyarsızdır.
- meta veri özellik adları ve değerleri büyük/küçük harfe duyarlı değildir; örneğin örnekteki "C2", "c2" ve "C2" ile eşleşir. Bu nedenle, "özellik" meta verilerine sahip bir işlev ve "Özellik" içeren başka bir işleviniz varsa ve seçim ölçütleri "PROPERTY" ifadesini arıyorsa, bunların her ikisi de eşleşir.
- Seçim sorgusu dizesindeki dize değeri tek tırnak içine alınmalıdır. Seçim sorgusundaki bir dize değeri içinde "?" tek bir joker karakteri belirtir ve "*" 0 veya daha fazla joker karakter anlamına gelir.
- Komut isteminizde tırnak işaretleri kullanırken, seçim sorgusu üzerinden kopyalama yaparken akıllı tırnaklara dikkat edin. Outlook e-postasından seçim sorgusunun üzerine kopyalarsanız, yanlışlıkla akıllı tırnak işaretleriniz olabilir ve TAEF bunu ayrıştıramayabilir. Bunun yerine tırnak işaretlerini yazın.
Bileşik seçim ölçütlerine ve bunların ne zaman yürütüleceğine yönelik bazı hızlı örneklerin üzerinden geçelim.
Te.exe Examples\CPP.SelectionCriteria1.Example.dll Examples\CPP.SelectionCriteria2.Example.dll \
/select:"@Owner='C2' AND @Priority=2"
Çalıştırılacak:
- Örnekler\CPP.SelectionCriteria2.Example.dll - class21::method211
Te.exe Examples\CPP.SelectionCriteria1.Example.dll Examples\CPP.SelectionCriteria2.Example.dll \
/select:"@Owner='C2' AND @Priority=3"
Çalıştırılacak:
- Örnekler\CPP.SelectionCriteria1.Example.dll - sınıf11::method112
Te.exe Examples\CPP.SelectionCriteria1.Example.dll Examples\CPP.SelectionCriteria2.Example.dll \
/select:"@Owner='U3' oR @Priority=1"
Çalıştırılacak:
- Örnekler\CPP.SelectionCriteria1.Example.dll - sınıf11::yöntem111
- Örnekler\CPP.SelectionCriteria2.Example.dll - class22::method221
Te.exe Examples\CPP.SelectionCriteria1.Example.dll Examples\CPP.SelectionCriteria2.Example.dll \
/select:"not(@BackwardsCompatibility=*)"
Geriye Dönük Uyumluluk değerinin belirtilmediğinde tüm testleri çalıştırır. (Aşağıdaki öğelere bakın.)
- Örnekler\CPP.SelectionCriteria1.Example.dll - class11::method111, class12::method121
- Örnekler\CPP.SelectionCriteria2.Example.dll - class22::method221
Te.exe Examples\CPP.SelectionCriteria1.Example.dll Examples\CPP.SelectionCriteria2.Example.dll \
/select:"@Owner='C*'"
Sahip değerinin "C" ile başladığı tüm testleri çalıştırır (büyük/küçük harfe duyarsız). Bu nedenle, önceki komut Örnekler\CPP.SelectionCriteria1.Example.dll and all tests in Examples\CPP.SelectionCriteria2.Example.dll sınıf21 altında tüm testleri çalıştırır (yöntem211)
Te.exe Examples\CPP.SelectionCriteria1.Example.dll Examples\CPP.SelectionCriteria2.Example.dll \
/select:"not(@BackwardsCompatibility=*) OR (@Owner='C*' AND @BackwardsCompatibility='*XP*')"
, Geriye Dönük Uyumluluk belirtilmediğinde veya sahip adının "C" ile başladığı ve geriye dönükKoşuyumluluk değerinin XP içerdiği tüm testleri çalıştırır. Öncelik sırasını belirtmek için "(" ve ")" parantezinin nasıl kullanıldığına dikkat edin.
Örnekte bu, seçmeli olarak çalıştırılır:
- Örnekler\CPP.SelectionCriteria1.Example.dll - class11::method111, class12::method121,
- Örnekler\CPP.SelectionCriteria2.Example.dll - class21::method211, class22::method221
Te.exe Examples\CPP.SelectionCriteria1.Example.dll Examples\CPP.SelectionCriteria2.Example.dll /select:"@Owner='???'"
yalnızca 3 karakter içeren özellik sahibi değerine sahip testleri çalıştırır.
Örneğimizde, bu "C" ile eşleşir ve yalnızca şunu çalıştırır:
- Örnekler\CPP.SelectionCriteria1.Example.dll - class12::method121
Te.exe Examples\CPP.SelectionCriteria1.Example.dll Examples\CPP.SelectionCriteria2.Example.dll /select:"@Priority>=1"
Uyarı
Bu, özellik değerlerinin floatvalues olduğu ">=", "<=", ">" ve "<" değerlerini nasıl kullanabileceğinize yönelik iyi bir örnektir.
Örneğimizde bu, hiçbir prority belirtilmemiş olan Example\CPP.SelectionCriteria2.Example.dll - class22::method221 dışındaki tüm yöntemleri çalıştırır. Başka bir deyişle, bu çalıştırılır:
- Örnekler\CPP.SelectionCriteria1.Example.dll - class11::method111, class11::method112, class12::method121
- Örnekler\CPP.SelectionCriteria2.Example.dll - class21::method211.
"/list" "/listproperties" vb. gibi diğer komut seçenekleriyle birlikte "/select" kullanabileceğinizi unutmayın.
Akıllı Tırnaklar
Outlook veya Word belgesindeki bir seçim ölçütünü komut isteminize geri kopyaladığınızda, seçim ölçütlerinizde akıllı tırnaklarla karşılaşabilirsiniz. Bilgisayar tüketimine yönelik gizli bir metin felaketi olan Akıllı Tırnaklar konusunda daha fazla bilgi bulabilirsiniz.
Akıllı tırnaklardan kaçınmanın kolay bir yolu yoktur. En iyi yaklaşım, seçim ölçütlerindeki tüm " çift tırnakları ve ' tek tırnakları komut istemine kopyaladıktan ve sorgunun tırnaklar bölümünü yeniden yazdıktan sonra silmektir.
Outlook'ta ileti oluştururken bunları kapatmaya yönelik bir seçenek ayarı vardır. Bunu bulmak için Outlook yardım kutusuna "akıllı tırnaklar" yazın.
Hızlı Ad tabanlı seçim
TAEF, '/name' komut satırı parametresini kullanarak komut isteminde ada göre hızlı bir seçim yapılmasını sağlar:
/name:<test name with wildcards>
eşdeğerdir:
/select:@Name='<test name with wildcards>'
Başka bir deyişle, artık isme göre bir seçim sorgusu sağlayabilirsiniz.
Te.exe Examples\CPP.SelectionCriteria1.Example.dll Examples\CPP.SelectionCriteria2.Example.dll \
/select:"@Name='*::class11::*'"
gibi /name kullanarak daha hızlı bir şekilde:
Te.exe Examples\CPP.SelectionCriteria1.Example.dll Examples\CPP.SelectionCriteria2.Example.dll /name=*::class11::*
Komut isteminde /name ve /select sağlandığı durumda, /name ihmal edilir ve /select öncelikli olur.