Aracılığıyla paylaş


komut satırı seçeneklerini VSTest.Console.exe

VSTest.Console.exe, testleri çalıştırmak için komut satırı aracıdır. Komut satırında istediğiniz sırada çeşitli seçenekler belirtebilirsiniz. Bu seçenekler,Genel komut satırı seçeneklerinde listelenir.

Not

Visual Studio'daki MSTest bağdaştırıcısı da uyumluluk için eski modda (mstest.exeile test çalıştırmaya eşdeğer) çalışır. Eski modda TestCaseFilter özelliğinden yararlanamaz. Bağdaştırıcı, bir testsettings dosyası belirtildiğinde, forcelegacymode runsettings dosyasında true olarak ayarlandığında veya HostTypegibi öznitelikleri kullanarak eski moda geçebilir.

ARM mimarisi tabanlı bir makinede otomatikleştirilmiş testler çalıştırmak için VSTest.Console.exekullanmanız gerekir.

Komut satırı aracını kullanmak için Geliştirici Komut İstemi açın veya aracı \<sürümü>\common7\ide\CommonExtensions\<Platform%\Microsoft Visual Studio\<sürüm>%Program Dosyalar(x86) içinde bulabilirsiniz | Microsoft>.

Genel komut satırı seçenekleri

Aşağıdaki tabloda, VSTest.Console.exe için tüm seçenekler ve bunların kısa açıklamaları listelenmiştir. Komut satırına VSTest.Console/? yazarak benzer bir özet görebilirsiniz.

Seçenek Açıklama
[test dosyası adları] Belirtilen dosyalardan testleri çalıştırın. Birden çok test dosyası adını boşluklarla ayırın.
Örnekler: mytestproject.dll, mytestproject.dll myothertestproject.exe
/Settings:[dosya adı] Veri toplayıcılar gibi ek ayarlarla testleri çalıştırın. Daha fazla bilgi için bkz. .runsettings dosyası kullanarak birim testlerini yapılandırma
Örnek: /Settings:local.runsettings
/Tests:[test adı] Sağlanan değerleri içeren adlarla testleri çalıştırın. Bu komut, ad alanı da dahil olmak üzere tam test adıyla eşleşir. Birden çok değer sağlamak için bunları virgülle ayırın.
Örnek: /Tests:TestMethod1,testMethod2
/Tests komut satırı seçeneği /TestCaseFilter komut satırı seçeneğiyle kullanılamaz.
/Parallel Testlerin paralel olarak yürütüldüğünü belirtir. Varsayılan olarak, makinedeki tüm kullanılabilir çekirdekler kullanılabilir. Bir ayarlar dosyasında kullanılacak çekirdek sayısını yapılandırabilirsiniz.
/Enablecodecoverage Test çalıştırmasında CodeCoverage veri tanılama bağdaştırıcısını etkinleştirir.
Ayarlar dosyası kullanılarak belirtilmezse varsayılan ayarlar kullanılır.
/InIsolation Testleri yalıtılmış bir işlemde çalıştırır.
Bu yalıtım, testlerdeki bir hatada vstest.console.exe işleminin durdurulma olasılığını düşürür, ancak testler daha yavaş çalışabilir.
/UseVsixExtensions Bu seçenek, vstest.console.exe işleminin test çalıştırmasında yüklü (varsa) VSIX uzantılarını kullanmasını veya atlar olmasını sağlar.
Bu seçenek kullanım dışıdır. Visual Studio'nun bir sonraki ana sürümünden itibaren bu seçenek kaldırılabilir. NuGet paketi olarak kullanılabilir hale gelen kullanılan uzantılara gitme.
Örnek: /UseVsixExtensions:true
/TestAdapterPath:[yol] vstest.console.exe işlemini, test çalıştırmasında belirtilen bir yoldan (varsa) özel test bağdaştırıcıları kullanmaya zorlar.
Örnek: /TestAdapterPath:[pathToCustomAdapters]
/Platform:[platform türü] Belirtilen platformu geçerli çalışma zamanından belirlenen platform yerine kullanılmaya zorlar. Bu seçenek Windows'ta yalnızca x86 ve x64 platformlarını zorlayabilir. ARM seçeneği bozuktur ve çoğu sistemde x64 ile sonuçlanır.
ARM64 gibi geçerli değerler listesinde olmayan çalışma zamanlarında çalışmak için bu seçeneği BELIRTMEYİN.
Geçerli değerler x86, x64 ve ARM'dir.
/Framework: [framework sürüm] Test yürütmesi için kullanılacak hedef .NET sürümü.
Örnek değerler Framework35, Framework40, Framework45, FrameworkUap10, .NETCoreApp,Version=v1.1şeklindedir.
TargetFrameworkAttribute, bu seçeneği derlemenizden otomatik olarak algılamak için kullanılır ve öznitelik mevcut olmadığında varsayılan olarak Framework40 olarak ayarlanır. .NET Core derlemelerinizden TargetFrameworkAttribute kaldırırsanız bu seçeneği açıkça belirtmeniz gerekir.
Hedef çerçeve Framework35olarak belirtilirse, testler CLR 4.0 "uyumluluk modunda" çalışır.
Örnek: /Framework:framework40
/TestCaseFilter:[ifadesi] Verilen ifadeyle eşleşen testleri çalıştırın.
<İfade>, [|<İfade>]>>=<değer <biçimindedir.
Örnek: /TestCaseFilter:"Priority=1"
Örnek: /TestCaseFilter:"TestCategory=Nightly|FullyQualifiedName=Namespace.ClassName.MethodName"
/TestCaseFilter komut satırı seçeneği /Tests komut satırı seçeneğiyle kullanılamaz.
İfade oluşturma ve kullanma hakkında bilgi için bkz. TestCase filtresi.
/? Kullanım bilgilerini görüntüler.
/Logger:[uri/friendlyname] Test sonuçları için günlükçü belirtin. Birden çok günlükçü etkinleştirmek için parametresini birden çok kez belirtin.
Örnek: Visual Studio Test Sonuçları Dosyasında (TRX) sonuçları günlüğe kaydetmek için
/Logger:trx
[; LogFileName=<Varsayılan olarak benzersiz dosya adı>]
/ListTests:[dosya adı] Belirtilen test kapsayıcısından bulunan testleri listeler.
Not: testleri listelerken /TestCaseFilters seçeneğinin hiçbir etkisi yoktur; yalnızca çalıştırılacak testleri denetler.
/ListDiscoverers Yüklü test bulucuları listeler.
/ListExecutors Yüklü test yürütücülerini listeler.
/ListLoggers Yüklü test günlükçülerini listeler.
/ListSettingsProviders Yüklü test ayarları sağlayıcılarını listeler.
/Blame Testleri suçlama modunda çalıştırır. Bu seçenek, test konağı kilitlenmesine neden olan sorunlu testleri yalıtmada yararlıdır. Kilitlenme algılandığında, kilitlenmeden önce çalıştırılan testlerin sırasını yakalayan TestResults/<Guid>/<Guid>_Sequence.xml bir sıra dosyası oluşturur. Daha fazla bilgi için bkz. Blame veri toplayıcı.
/Diag:[dosya adı] Tanılama izleme günlüklerini belirtilen dosyaya yazar.
/ResultsDirectory:[yol] Test sonuçları dizini, yoksa belirtilen yolda oluşturulur.
Örnek: /ResultsDirectory:<pathToResultsDirectory>
/ParentProcessId:[parentProcessId] Geçerli işlemin başlatılmasından sorumlu Üst İşlemin İşlem Kimliği.
/Port:[bağlantı noktası] Yuva bağlantısı için bağlantı noktası ve olay iletilerini alma.
/Collect:[dataCollector friendlyName] Test çalıştırması için veri toplayıcıyı etkinleştirir. daha fazla bilgi.

Bahşiş

Seçenekler ve değerler büyük/küçük harfe duyarlı değildir.

Örnekler

vstest.console.exe çalıştırma söz dizimi şöyledir:

vstest.console.exe [TestFileNames] [Options]

Varsayılan olarak, hiçbir test bulunamasa bile komut normal şekilde çıktığında 0 döndürür. Hiçbir test bulunmazsa sıfır olmayan bir değer döndürmek istiyorsanız, <TreatNoTestsAsError>true</TreatNoTestsAsError> runsettings seçeneğini kullanın.

Aşağıdaki komut, myTestProject.dlltest kitaplığı için vstest.console.exe çalıştırır:

vstest.console.exe myTestProject.dll

Aşağıdaki komut birden çok test dosyasıyla vstest.console.exe çalıştırır. Test dosyası adlarını boşluklarla ayırın:

vstest.console.exe myTestFile.dll myOtherTestFile.dll

Aşağıdaki komut çeşitli seçeneklerle vstest.console.exe çalıştırır. myTestFile.dll dosyasındaki testleri yalıtılmış bir işlemde çalıştırır ve Local.RunSettings dosyasında belirtilen ayarları kullanır. Ayrıca, yalnızca "Priority=1" olarak işaretlenmiş testleri çalıştırır ve sonuçları bir .trx dosyasına kaydeder.

vstest.console.exe myTestFile.dll /Settings:Local.RunSettings /InIsolation /TestCaseFilter:"Priority=1" /Logger:trx

Aşağıdaki komut, myTestProject.dlltest kitaplığı için /blame seçeneğiyle vstest.console.exe çalıştırır:

vstest.console.exe myTestFile.dll /blame

Test konağı kilitlenmesi oluşursa, sequence.xml dosyası oluşturulur. Dosya, kilitlenme sırasında çalıştırılan belirli testi de dahil olmak üzere yürütme sıralarındaki testlerin tam adlarını içerir.

Test ana bilgisayarı kilitlenmesi yoksa, sequence.xml dosyası oluşturulmaz.

Oluşturulan sequence.xml dosyası örneği:

<?xml version="1.0"?>
<TestSequence>
  <Test Name="TestProject.UnitTest1.TestMethodB" Source="D:\repos\TestProject\TestProject\bin\Debug\TestProject.dll" />
  <Test Name="TestProject.UnitTest1.TestMethodA" Source="D:\repos\TestProject\TestProject\bin\Debug\TestProject.dll" />
</TestSequence>

UWP örneği

UWP için appxrecipe dosyasına DLL yerine başvurulmalıdır.

vstest.console.exe /Logger:trx /Platform:x64 /framework:frameworkuap10 UnitTestsUWP\bin\x64\Release\UnitTestsUWP.build.appxrecipe