Aracılığıyla paylaş


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

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ı, uyumluluk için eski modda da çalışır (mstest.exe ile test çalıştırmaya eşdeğerdir). Eski modda TestCaseFilter özelliğinden yararlanamaz. Bağdaştırıcı, testsettings dosyası belirtildiğinde, forcelegacymode bir runsettings dosyasında true olarak ayarlandığında veya HostType gibi öznitelikleri kullanarak eski moda geçebilir.

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

Komut satırı aracını kullanmak için Geliştirici Komut İstemi'ni açın veya aracı %Program Files(x86)%\Microsoft Visual Studio\version>\<edition>\<common7\ide\CommonExtensions\<Platform | içinde bulabilirsiniz Microsoft'a> gidin.

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 yazarak VSTest.Console/? 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
/Ayarlar:[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 name] 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.
/Paralel 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, test çalıştırmasında yüklü VSIX uzantılarını (varsa) vstest.console.exe işleminin kullanılmasını veya atılması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:[path] 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: [çerçeve 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.
TargetFrameworkAttribute, bu seçeneği derlemenizden otomatik olarak algılamak Framework40 için kullanılır ve varsayılan olarak öznitelik mevcut olmadığında kullanılır. .NET Core derlemelerinizden TargetFrameworkAttribute öğesini kaldırırsanız bu seçeneği açıkça belirtmeniz gerekir.
Hedef çerçeve Framework35 olarak belirtilirse, testler CLR 4.0 "uyumluluk modunda" çalışır.
Örnek: /Framework:framework40
/TestCaseFilter:[expression] Verilen ifadeyle eşleşen testleri çalıştırın.
<İfade> property>=<value> biçiminde<[|<İfade>].
Ö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: Bu seçeneğin /TestCaseFilters testleri listelerken hiçbir etkisi yoktur; yalnızca hangi testlerin çalıştırıldığını 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.
/List Ayarlar Providers Yüklü test ayarları sağlayıcılarını listeler.
/Suçla 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 bir dizi dosyası TestResults/<Guid>/<Guid>_Sequence.xml oluşturur. Daha fazla bilgi için bkz . Veri toplayıcıyı suçlama.
/Diag:[dosya adı] Tanılama izleme günlüklerini belirtilen dosyaya yazar.
/ResultsDirectory:[path] 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:[port] 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.

İpucu

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 runsettings seçeneğini kullanın <TreatNoTestsAsError>true</TreatNoTestsAsError> .

Aşağıdaki komut, myTestProject.dll test 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.Run Ayarlar 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, test kitaplığı myTestProject.dll seçeneğiyle /blame vstest.console.exe çalıştırır:

vstest.console.exe myTestFile.dll /blame

Bir 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