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 makalede için Microsoft.Testing.Platformsorun giderme yönergeleri yer alır.
Çıkış kodları
Microsoft.Testing.Platform , test hatası veya uygulama hatalarını iletmek için bilinen çıkış kodlarını kullanır. Çıkış kodları 0 ile başlar ve negatif olmayan değerlerdir.
| Çıkış kodu | Ayrıntılar |
|---|---|
0 |
Çıkış 0 kodu başarılı olduğunu gösterir. Çalıştırılacak şekilde seçilen tüm testler tamamlanmak üzere çalıştırıldı ve hiçbir hata yoktu. |
1 |
Bilinmeyen hataları gösteren çıkış 1 kodu, her şeyi kapsayan bir işlev görür. Ek hata bilgilerini ve ayrıntılarını bulmak için çıktıya bakın. |
2 |
çıkış kodu 2 , en az bir test hatası olduğunu belirtmek için kullanılır. |
3 |
Çıkış kodu 3 , test oturumunun durdurulduğunu gösterir. Bir oturum, örnek olarak Ctrl+C kullanılarak durdurulabilir. |
4 |
Çıkış kodu 4 , kullanılan uzantıların kurulumunun geçersiz olduğunu ve test oturumunun çalıştırılamadığını gösterir. |
5 |
Çıkış kodu 5 , test uygulamasına geçirilen komut satırı bağımsız değişkenlerinin geçersiz olduğunu gösterir. |
6 (artık kullanılmaz) |
Çıkış kodu 6 artık platform tarafından üretilmemiştir; daha önce test oturumunun uygulanmamış bir özellik kullandığını gösteriyordu. |
7 |
Çıkış kodu 7 , bir test oturumunun başarıyla tamamlanamadı ve büyük olasılıkla kilitlendiğini gösterir. Bunun nedeni bir test denetleyicisinin uzantı noktası üzerinden çalıştırılan bir test oturumu olabilir. |
8 |
Çıkış kodu 8 , test oturumunun sıfır test çalıştırdığını gösterir. |
9 |
Çıkış kodu 9 , yürütülen testler için en düşük yürütme ilkesinin ihlal edildiğini gösterir. |
10 |
Çıkış kodu 10 test bağdaştırıcısı olan Testing.Platform Test Framework, MSTest, NUnit veya xUnit'in testin kendisi ile ilgisi olmayan bir altyapı nedeniyle testleri çalıştıralamadığını gösterir. Testler için gerekli bir fikstürün oluşturulamadığı bir örnektir. |
11 |
Çıkış kodu 11, bağımlı işlemden çıkıldığında test işleminin de çıkacağını gösterir. |
12 |
Çıkış kodu 12 , istemci desteklenen protokol sürümlerinden hiçbirini desteklemediğinden test oturumunun çalışamadığını gösterir. |
13 |
Çıkış kodu 13 , komut satırı seçeneği kullanılarak --maximum-failed-tests belirtilen başarısız test sayısı üst sınırına ulaşılması nedeniyle test oturumunun durdurulduğunu gösterir. Daha fazla bilgi için Microsoft.Testing.Platform CLI seçenekleri başvurusunun Seçenekler bölümüne bakın |
Ayrıntılı günlüğe kaydetmeyi etkinleştirmek ve sorunları gidermek amacıyla Tanılama günlüğü bölümüne bakın.
Belirli çıkış kodlarını yoksay
Microsoft.Testing.Platform varsayılan olarak katı olacak şekilde tasarlanmıştır ancak yapılandırılabilirlik sağlar. Bu nedenle, kullanıcıların hangi çıkış kodlarının yoksayılacağına karar vermeleri mümkündür (özgün çıkış kodu yerine çıkış kodu 0 döndürülür).
Belirli çıkış kodlarını yoksaymak için --ignore-exit-code komut satırı seçeneğini veya TESTINGPLATFORM_EXITCODE_IGNORE ortam değişkenini kullanın. Kabul edilen geçerli format, yoksaymak için çıkış kodlarının noktalı virgülle ayrılmış bir listesidir (örneğin, --ignore-exit-code 2;3;8). Yaygın bir senaryo, test hatalarının sıfır olmayan bir çıkış koduyla sonuçlanmaması gerektiğini (çıkış kodunu 2yoksaymaya karşılık gelir) göz önünde bulundurmaktır.
Tanılama günlüğü tutma
Platform, test yürütme sorunlarını gidermenize yardımcı olmak için yerleşik tanılama günlüğü sağlar. Tanılama günlüğünü komut satırı seçenekleri veya ortam değişkenleri aracılığıyla etkinleştirebilirsiniz.
Komut satırı seçenekleri
Aşağıdaki platform seçenekleri test uygulamalarınızla ilgili sorunları gidermek için yararlı bilgiler sağlar:
--info--diagnostic--diagnostic-synchronous-write--diagnostic-verbosity--diagnostic-file-prefix--diagnostic-output-directory
Ortam değişkenleri
Tanılama günlüklerini ortam değişkenlerini kullanarak da etkinleştirebilirsiniz:
| Ortam değişkeni adı | Description |
|---|---|
TESTINGPLATFORM_DIAGNOSTIC |
1olarak ayarlanırsa, tanılama günlüğünü etkinleştirir. |
TESTINGPLATFORM_DIAGNOSTIC_VERBOSITY |
Ayrıntı düzeyini tanımlar. Kullanılabilir değerler Trace, Debug, Information, Warning, Errorveya Critical' dır. |
TESTINGPLATFORM_DIAGNOSTIC_OUTPUT_DIRECTORY |
Tanılama günlüğünün çıkış dizini belirtilmezse, dosya varsayılan TestResults dizininde oluşturulur. |
TESTINGPLATFORM_DIAGNOSTIC_OUTPUT_FILEPREFIX |
Günlük dosyası adının ön eki. Varsayılan olarak "log_" değerini alır. |
TESTINGPLATFORM_DIAGNOSTIC_FILELOGGER_SYNCHRONOUSWRITE |
Yerleşik dosya günlükçüsüsünü zaman uyumlu bir şekilde günlükleri yazmaya zorlar. İşlemin çöktüğü durumlarda (yani günlük girdilerini kaybetmek istemediğiniz senaryolarda) kullanışlıdır. Bu, test yürütmeyi yavaşlatır. |
Uyarı
Ortam değişkenleri, komut satırı bağımsız değişkenlerinden önceliklidir.
Yapılandırma hatalarını düzeltme
Microsoft.Testing.Platform.MSBuild
Microsoft.Testing.Platform.MSBuild ile ilgili yaygın yapılandırma hataları şunlardır.
hata CS8892: Senkron bir giriş noktası 'Program.Main(string[])' bulunduğundan, 'TestingPlatformEntryPoint.Main(string[])' yöntemi giriş noktası olarak kullanılmayacak
Bir test projesinde giriş noktasını (Main) el ile tanımlama veya zaten bir giriş noktası olan bir uygulamadan test projesine başvurmak, Microsoft.Testing.Platformtarafından oluşturulan giriş noktasıyla çakışmaya neden olur. Bu sorunu önlemek için şu adımlardan birini uygulayın:
el ile tanımlanan giriş noktanızı kaldırın(genellikle
Main'da yönteminizi) ve test platformunun sizin için bir tane oluşturmasına izin verin.<GenerateTestingPlatformEntryPoint>false</GenerateTestingPlatformEntryPoint>MSBuild özelliğini ayarlayarak giriş noktasının oluşturulmasını devre dışı bırakın.Test projesine başvuran projede,
Microsoft.Testing.Platform.MSBuildMSBuild özelliğini ayarlayarak<IsTestingPlatformApplication>false</IsTestingPlatformApplication>geçişli bağımlılığını tamamen devre dışı bırakın. Bu, test olmayan bir projeden test projesine başvurduğunuzda (örneğin, bir test uygulamasına başvuran bir konsol uygulaması) gereklidir.
Microsoft.Testing.Extensions.Fakes
Fakes hatası: COR_PROFILER_PATH ve COR_PROFILER ortam değişkenlerinden profilleyici yolunu çözemedi.
Tüm Fakes derlemeleri bin klasöründe mevcut değilse bu hata oluşabilir.
- Projenin MSTest.SDK kullandığından veya Microsoft.Testing.Extensions.Fakes referans verdiğinden emin olun.
- .NET Framework projeleri için
<PlatformTarget>AnyCPU</PlatformTarget>ayarlamaktan kaçının, bunun sonucunda NuGet tüm dosyaları bin klasörüne kopyalamaz.