ExecutableConditionAttribute Sınıf

Tanım

Bu öznitelik, belirli bir yürütülebilir dosyanın (araç) kullanılabilir olup olmadığına bağlı olarak bir test sınıfının mı yoksa test yönteminin mi çalıştırılacağını veya yoksayılacağını koşullu olarak denetlemek için kullanılır.

[System.AttributeUsage(System.AttributeTargets.Class | System.AttributeTargets.Method, AllowMultiple=true, Inherited=false)]
public sealed class ExecutableConditionAttribute : Microsoft.VisualStudio.TestTools.UnitTesting.ConditionBaseAttribute
[System.AttributeUsage(System.AttributeTargets.Class | System.AttributeTargets.Method, AllowMultiple=true, Inherited=false)]
[System.Runtime.CompilerServices.Nullable(0)]
public sealed class ExecutableConditionAttribute : Microsoft.VisualStudio.TestTools.UnitTesting.ConditionBaseAttribute
[<System.AttributeUsage(System.AttributeTargets.Class | System.AttributeTargets.Method, AllowMultiple=true, Inherited=false)>]
type ExecutableConditionAttribute = class
    inherit ConditionBaseAttribute
[<System.AttributeUsage(System.AttributeTargets.Class | System.AttributeTargets.Method, AllowMultiple=true, Inherited=false)>]
[<System.Runtime.CompilerServices.Nullable(0)>]
type ExecutableConditionAttribute = class
    inherit ConditionBaseAttribute
Public NotInheritable Class ExecutableConditionAttribute
Inherits ConditionBaseAttribute
Devralma
ExecutableConditionAttribute
Öznitelikler

Açıklamalar

Bu genel, araç-agnostik bir durumdur. İki mod vardır:

  • Hayır Arguments sağlandığında, koşul yalnızca yürütülebilir dosyanın sistemde PATHbulunup bulunmadığını denetler (ve Windows üzerinde aracılığıyla PATHEXTçözülebilir). Yürütülebilir dosyayı çalıştırmaz. Örneğin, yüklü olduğunu docker doğrulayabilir.
  • Sağlandığında Arguments koşul çalıştırılır executable arguments ve yalnızca içindeki kodla 0TimeoutSecondsişlemden çıkıldığında karşılanır. Örneğin, [ExecutableCondition("docker", "version")] Docker CLI'nın gerçekten yanıt verdiğini doğrular. İşlem çıkışı yeniden yönlendirilir ve atılır ve zaman aşımını aşarsa işlem (çalışma zamanının desteklediği alt işlem ağacıyla birlikte) sonlandırılır.

Ürüne özgü durum (örneğin Docker daemon'ının Linux kapsayıcıları için yapılandırılıp yapılandırılmadığı) kasıtlı olarak kapsamın dışındadır; bu özniteliğin üzerine bu tür denetimler ekleyin veya kendi ConditionBaseAttributedenetiminizi yazın.

Her ayrı yürütülebilir ve bağımsız değişken bileşimi kendi koşul grubunu oluşturur (bkz GroupName. ). Sonuç olarak, özniteliğin farklı komutlarla birden çok kez uygulanması, tümünün yerine getirilmesini (mantıksal VE) gerektirirken, aynı komutla birden çok kez uygulamak için yalnızca bir tane (mantıksal VEYA) gerekir.

Bu öznitelik devralınmıyor. Bunu temel sınıfa uygulamak türetilmiş sınıfları etkilemez.

Oluşturucular

Name Description
ExecutableConditionAttribute(ConditionMode, String, String[])

ExecutableConditionAttribute sınıfının yeni bir örneğini başlatır.

ExecutableConditionAttribute(ConditionMode, String)

Verilen yürütülebilir dosyanın üzerinde PATHkullanılabilir olup olmadığını denetleen sınıfının yeni bir örneğini ExecutableConditionAttribute başlatır.

ExecutableConditionAttribute(String, String[])

Yalnızca verilen komut kullanılabilir olduğunda testi içeren sınıfın yeni bir örneğini ExecutableConditionAttribute başlatır.

ExecutableConditionAttribute(String)

Yalnızca belirtilen yürütülebilir dosya üzerinde PATHkullanılabilir olduğunda testi içeren sınıfın yeni bir örneğini ExecutableConditionAttribute başlatır.

Özellikler

Name Description
Arguments

Yürütülebilir dosyaya geçirilen bağımsız değişkenleri alır. Boş olduğunda, yalnızca üzerindeki PATH yürütülebilir dosyanın varlığı denetlenebilir; aksi takdirde yürütülebilir dosya bu bağımsız değişkenlerle çalıştırılır ve 0 koduyla çıkmalıdır.

Executable

Bu koşulun arayabilecek yürütülebilir dosyasını alır.

GroupName

Bu özniteliğin grup adını alır. Her komut - ile Mode birlikte - kendi grubunu oluşturur, bu nedenle birkaç farklı komut gerektiren mantıksal AND ile birleştirilir, ancak karşıt modlarla aynı komut sessizce iptal etmez (yansıtma MemberConditionAttribute).

IgnoreMessage

Test yöntemini veya test sınıfını yoksayma nedenini belirten yoksay iletisini alır veya ayarlar.

(Devralındığı yer: ConditionBaseAttribute)
IsConditionMet

Koşulun karşılanıp karşılanmadığını gösteren bir değer alır. Bu özelliğin uygulanması özelliği okumamalıdır Mode .

Mode

Koşul modunu alır.

(Devralındığı yer: ConditionBaseAttribute)
TimeoutSeconds

Sağlandığında Arguments yürütülebilir dosyanın çıkışını beklemek için en fazla saniye sayısını alır veya ayarlar. 0'dan küçük veya 0'a eşit bir değer, zaman aşımı olmadığı anlamına gelir. Varsayılan değer 30 saniyedir.

Şunlara uygulanır