Testleri çalıştırma ve hatalarını ayıklama

MTP test projeleri doğrudan çalıştırılabilir (veya hata ayıklanabilir) yürütülebilir dosyalar olarak oluşturulur. Ek bir test çalıştırma konsolu veya komutu yoktur. Çoğu yürütülebilir dosya için tipik olan bir hata varsa, uygulama sıfır olmayan bir çıkış koduyla çıkar. Bilinen çıkış kodları hakkında daha fazla bilgi için bkz. MTP çıkış kodları.

İpucu

komut satırı seçeneğini kullanarak belirli bir --ignore-exit-code yoksayabilirsiniz.

TestingPlatformCommandLineArguments MSBuild özelliğini kullanarak project dosyasındaki belirli bir test project uygulanan komut satırı seçeneklerini de ayarlayabilirsiniz. Test oturumunda tüm testlerin yoksayıldığı ve normalde çıkış kodu 8 ile sonuçlanan (test oturumu hiç test çalıştırmadı) test projeleri, yaygın kullanım örneklerinden biridir. Bu senaryoda, project dosyanızdaki PropertyGroup altına aşağıdakileri ekleyebilirsiniz:

<TestingPlatformCommandLineArguments>$(TestingPlatformCommandLineArguments) --ignore-exit-code 8</TestingPlatformCommandLineArguments>

Önemli

Varsayılan olarak, MTP telemetri toplar. Geri çevirme hakkında daha fazla bilgi ve seçenek için bkz. MTP telemetrisi.

dotnet publish kullanarak test project yayımlamak ve uygulamayı doğrudan çalıştırmak, testlerinizi çalıştırmanın başka bir yoludur. Örneğin, ./Contoso.MyTests.exe'ı çalıştırma. Bazı senaryolarda yürütülebilir dosyayı üretmek için dotnet build kullanmak da mümkün olsa da, Native AOTgibi göz önünde bulundurulması gereken uç durumlar olabilir.

dotnet run komutunu kullanma

test project oluşturmak ve çalıştırmak için dotnet run komutu kullanılabilir. Bu, bazen en yavaş olsa da testlerinizi çalıştırmanın en kolay yoludur. Yerel olarak testleri düzenleyip çalıştırırken dotnet run kullanmak pratiktir, çünkü gerektiğinde test projesinin yeniden oluşturulmasını sağlar. dotnet run ayrıca geçerli klasördeki projeyi otomatik olarak bulur.

dotnet run --project Contoso.MyTests

dotnet runhakkında daha fazla bilgi için bkz. dotnet run.

dotnet exec komutunu kullanma

dotnet exec veya dotnet komutu, önceden oluşturulmuş bir test project yürütmek (veya çalıştırmak) için kullanılır; bu, uygulamayı doğrudan çalıştırmaya alternatiftir. dotnet exec, yerleşik test project dll dosyasının yolunu gerektirir.

dotnet exec Contoso.MyTests.dll

veya

dotnet Contoso.MyTests.dll

Uyarı

Test projesi yürütülebilir dosyasının (*.exe) yolunu vermek bir hata oluşturur.

Error:
  An assembly specified in the application dependencies manifest
  (Contoso.MyTests.deps.json) has already been found but with a different
  file extension:
    package: 'Contoso.MyTests', version: '1.0.0'
    path: 'Contoso.MyTests.dll'
    previously found assembly: 'S:\t\Contoso.MyTests\bin\Debug\net10.0\Contoso.MyTests.exe'

dotnet exechakkında daha fazla bilgi için bkz. dotnet exec .

dotnet test komutunu kullanma

MTP ile bir uyumluluk katmanı vstest.console.exe sunar ve dotnet test yeni yürütme senaryosunu etkinleştirirken testlerinizi daha önce olduğu gibi çalıştırabilmenizi sağlar.

dotnet test Contoso.MyTests.dll

Ayrıca bakınız