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.
Bu makale, Microsoft.Testing.Platform için özel test çerçeveleri veya uzantılar oluşturan geliştiricilere yöneliktir.
Not
Tam örnek kod için Microsoft Test Framework deposundaki TestingPlatformExamples bölümüne bakın.
Uzantı noktası özeti
| Uzantı noktası | İşlemde/İşlem dışı | Amaç |
|---|---|---|
| ITestFramework | Devam eden işlem | Tek zorunlu uzantı. Testleri bulup çalıştırır. |
| IDataConsumer | Devam eden işlem | İleti veri yolundan test verilerine abone olur ve bu verileri işler. |
| ITestSessionLifetimeHandler | Devam eden işlem | Test oturumu öncesinde ve sonrasında kod çalıştırır. |
| ITestApplicationLifecycleCallbacks | Devam eden işlem | Kodun çalıştırılmasını test hostunun en başında ve tam sonunda gerçekleştirir. |
| ICommandLineOptionsProvider | Her ikisi | Özel komut satırı seçenekleri ekler. |
| ITestHostEnvironmentVariableProvider | İşlem dışı | Test konağı başlamadan önce ortam değişkenlerini ayarlar. |
| ITestHostProcessLifetimeHandler | İşlem dışı | Test ana bilgisayar işlemini harici olarak gözlemler. |
İşlem içi ve işlem dışı uzantılar karşılaştırması
Uzantılar iki türe ayrılır:
İşlem içi uzantılar test çerçevesiyle birlikte test ana bilgisayar işlemi içinde çalışır. Bunları
builder.TestHostaracılığıyla kaydedin:var builder = await TestApplication.CreateBuilderAsync(args); builder.TestHost.AddXXX(/* ... */);İşlem dışı uzantılar , test ana bilgisayarını gözlemleyen ayrı bir işlemde çalışır. Bunları
builder.TestHostControllersaracılığıyla kaydedin:var builder = await TestApplication.CreateBuilderAsync(args); builder.TestHostControllers.AddXXX(/* ... */);
İşlem dışı uzantılar şu durumlarda gereklidir:
- Test konağı başlamadan önce ortam değişkenlerini ayarlamanız gerekir.
- Kullanıcı kodu çökebilir veya süreci aksatabilir, bu nedenle test ana bilgisayarını dışarıdan izlemeniz gerekir.
İşlem dışı uzantılar kaydedildiğinde platform otomatik olarak ikinci bir işlem başlatır.
IExtension arabirimi
Tüm uzantı noktaları, kimlik belirleme ve kabul etme/geri çevirme sağlayan öğesinden IExtensiondevralır:
public interface IExtension
{
string Uid { get; }
string Version { get; }
string DisplayName { get; }
string Description { get; }
Task<bool> IsEnabledAsync();
}
-
Uid: Uzantı için benzersiz bir tanımlayıcı. Çakışmaları önlemek için benzersiz bir değer seçin. -
Version: Anlamsal sürüm oluşturma kullanılarak uzantının sürümü. -
DisplayName: Günlüklerde ve--infoçıkışta görünen kullanıcı dostu bir ad. -
Description: Çıktıda--infogörünen bir açıklama. -
IsEnabledAsync(): Uzantıyı oturumdan dışlamak için geri dönünfalse. Kararlar genellikle yapılandırma veya komut satırı seçeneklerine dayanır.
Bundan sonra okunacak şeyler
-
Test çerçevesi oluşturma: Özel
ITestFrameworkbir uygulama oluşturun, istekleri işleyin ve test sonuçlarını rapor edin. - Uzantılar oluşturun: Veri tüketicileri, oturum işleyicileri ve işlem izleyicileri gibi süreç içi ve süreç dışı uzantılar oluşturun.
- VSTest Köprüsü: Mevcut VSTest tabanlı test çerçevelerinin Microsoft.Testing.Platform'a geçişini basitleştirin.
- Özellikler: Çerçeve ve uzantı özelliklerini bildirme ve sorgulama.
- Services: Access yapılandırması, günlüğe kaydetme, ileti veri yolu ve diğer platform hizmetleri.