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.
Bazen meta veri değerlerinin çalışma zamanı değerlerine bağlı olarak değişmesi yararlı olabilir. Koşullu meta veriler modül, sınıf veya yöntem meta verilerinin yalnızca çalışma zamanı parametrelerine göre belirli koşullarda uygulanmasını sağlar.
Sözdizimi
Meta verileri koşullu hale getirmek için meta veri adından sonra köşeli ayraçlarla çevrili bir koşul ekleyin. Koşul, seçim sorgu dilimizin biçiminde olmalıdır. Değişkenlerin değerleri çalışma zamanı parametrelerinden gelir.
Örneğin, bir testin aşağıdaki meta verileri olduğunu varsayalım:
TEST_METHOD_PROPERTY(L"RunAs", L"Elevated")
TEST_METHOD_PROPERTY(L"Ignore[@NoElevation=true]", L"true")
ARDıNDAN TAEF DLL'yi yüklediğinde çalışma zamanı parametrelerine göre "@NoElevation=true" koşulunu değerlendirir. Bu nedenle kullanıcı "NoElevation" çalışma zamanı parametresini true olarak ayarlarsa, teste "Yoksay" adı ve "true" değeriyle meta veriler uygulanır.
Bir testte birden çok koşullu meta veri görünürse, her biri aynı şekilde bağımsız olarak değerlendirilir. Bir testin çalışma zamanı parametresinin birden çok olası değerini tanımasını istiyorsanız bu yararlı olabilir.
TEST_METHOD_PROPERTY(L"Data:MyTestData[@TestCaseLevel='Low']", L"{ Datum1, Datum2, Datum3 }")
TEST_METHOD_PROPERTY(L"DataSource[@TestCaseLevel='High']", L"Pict:FullDataSet.model?Order=3")
Testte yukarıda gösterilen meta veriler varsa ve kullanıcı TestCaseLevel değerini Düşük olarak ayarlarsa, basit veri kaynağı nedeniyle test yalnızca üç kez çağrılır. Kullanıcı TestCaseLevel değerini Yüksek olarak ayarlarsa, test için çok daha fazla parametre oluşturmak için PICT veri kaynağı kullanılır. TestCaseLevel Değeri Yüksek veya Düşük olarak ayarlanmadıysa meta veri eklenmez.
Varsayılan Değerler
Meta verileri yalnızca söz konusu meta veri adı için başka hiçbir koşul true olarak değerlendirilmediğinde eklemek istediğinizde, meta veri adını [default] ile ekleyebilirsiniz.
TEST_METHOD_PROPERTY(L"DataSource", L"Pict:MyTest.model")
TEST_METHOD_PROPERTY(L"Pict:Order[@TestCaseLevel='Low']", L"1")
TEST_METHOD_PROPERTY(L"Pict:Order[default]", L"2")
TEST_METHOD_PROPERTY(L"Pict:Order[@TestCaseLevel='High']", L"3")
Testte yukarıdaki meta veriler varsa ve kullanıcı TestCaseLevel değerini Düşük veya Yüksek olarak ayarlamadıysa, Pict:Order değeri 2 olarak ayarlanır. Kullanıcı TestCaseLevel değerini Düşük veya Yüksek olarak ayarlarsa Pict:Order sırasıyla 1 veya 3 olarak ayarlanır. Pict:Order testinde en az bir koşul true olarak değerlendirildiği için 2 değeri geçerli olmayacaktır.
Gerekiyorsa [varsayılan] öğesini çıkarmamaya dikkat edin.
TEST_METHOD_PROPERTY(L"DataSource", L"Pict:MyTest.model")
TEST_METHOD_PROPERTY(L"Pict:Order[@TestCaseLevel='Low']", L"1")
TEST_METHOD_PROPERTY(L"Pict:Order", L"2") // This should have [default]
TEST_METHOD_PROPERTY(L"Pict:Order[@TestCaseLevel='High']", L"3")
TestCaseLevel Düşük olarak ayarlanırsa, yukarıdaki meta veri kümesi aşağıdaki meta veri kümesiyle eşdeğerdir:
TEST_METHOD_PROPERTY(L"DataSource", L"Pict:MyTest.model")
TEST_METHOD_PROPERTY(L"Pict:Order", L"1")
TEST_METHOD_PROPERTY(L"Pict:Order", L"2")
Bu durumda, PICT veri kaynağının PICT sırası için "1" mi yoksa "2" mi kullanacağı belirtilmez.