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.
TAEF, testleri birden çok işlemci arasında paralel olarak yürütmek için bir mekanizma sağlar.
Paralellik Garantileri
- Paralelleştirilebilir olarak işaretlenmemiş iki test hiçbir zaman eşzamanlı olarak yürütülemez.
- Paralel testler hem diğer paralel hem de paralel olmayan testlerle eşzamanlı olarak çalıştırılabilir.
- Tüm modül/sınıf/test kurulumu ve temizleme işlemi, ilgili test öncesinde ve sonrasında aynı işlemde doğrusal olarak çalıştırılır.
- Modül veya sınıf en az bir paralel test içeriyorsa modül/sınıf kurulumu farklı işlemlerde paralel olarak yürütülebilir.
- Paralel yürütme modu "/inproc" yürütme mekanizmasıyla uyumlu değil.
Testleri Paralelleştirilebilir Olarak İşaretleme
Örnek (yerel kod):
class MyTests
{
TEST_CLASS(MyTests);
BEGIN_TEST_METHOD(ParallelTest)
TEST_METHOD_PROPERTY(L"Parallel", L"true")
END_TEST_METHOD()
};
TAEF'deki diğer genel meta verilerde olduğu gibi, bu da sınıf veya modül düzeyinde belirtilebilir ve bu sınıf veya modül içindeki tüm testler tarafından devralınır. Örneğin, derlemenin tamamını paralelleştirilebilir olarak işaretlemek için, test DLL'nizde derlenmiş bir cpp dosyasında aşağıdakileri yapabilirsiniz (herhangi bir sınıf veya test belirtimi dışında):
BEGIN_MODULE()
MODULE_PROPERTY(L"Parallel", L"true");
END_MODULE()
Bu geniş kapsam daha sonra aşağıdaki gibi belirli test çalışmaları veya sınıflar için paralelliği devre dışı bırakmak üzere daha küçük kapsamlarda geçersiz kılınabilir:
class MyTests
{
TEST_CLASS(MyTests);
BEGIN_TEST_METHOD(NonParallelTest)
TEST_METHOD_PROPERTY(L"Parallel", L"false");
END_TEST_METHOD()
};
Test yöntemine en yakın ayar hangisiyse (yöntem meta verileri en yakın, sonra sınıf, sonra modül) bu testin diğer testlerle paralel olarak çalıştırılıp çalıştırılmayacağına karar vermek için kullanılır.
Komut İsteminde Paralelliği Etkinleştirme
Paralel yürütme, isteğe bağlı bir özelliktir. Testler paralel olarak işaretlense de, komut isteminde paralel yürütme modu etkinleştirilmediği sürece TAEF testleri doğrusal olarak yürütmeye devam eder:
te unittests\* /parallel