Yanıtlar:
Görsel stüdyo olmadan mstest.exe'yi çalıştırmak mümkündür.
Aşağıdaki Visual Studio ISO'ları için Aracılardan birini indirin ve Test Aracısını sunucuya yükleyin :
Visual Studio 2017 (127MB disk alanı, indirme için olandan daha az)
Visual Studio 2015 (128MB kurulum, 2GB disk alanı gerekir)
Visual Studio 2012 (224MB)
Visual Studio 2013 (287MB)
Visual Studio 2010 (515MB)
Bu, mstest.exe'yi komut satırından çalıştırmak için gereken her şeyi yükler ve görsel stüdyodan çok daha hafiftir. ~ 500mb indirme ve ~ 300mb civarında doğru hatırlıyorsam sadece test aracısını yüklemek için.
GÜNCELLEME
VS 2017'den daha eski sürümler için buraya bakın:
Bu yanıt, özellikle Visual Studio 2017 ile ilgilidir ve yanıt evettir . Bununla birlikte, Microsoft'un (hala) ilgili yürütülebilir dosyaları ( MSBuild.exe
ve MSTest.exe
) bulmak için herhangi bir resmi API sağlamadığını lütfen unutmayın; bu nedenle, bu dosyaları bulmak için kayıt defteri anahtarlarını okurken ve / veya çeşitli dizinleri araştırırken takılıp kalırsınız . Uyarılmıştın.
MSTest.TestFramework
bu projelere yükleyin ve referansı Microsoft.VisualStudio.QualityTools.UnitTestFramework
onlardan kaldırın . Artık tek ihtiyacınız olan, Visual Studio 2017 Derleme Araçlarını yüklemek msbuild.exe
ve derlemeyi gerçekleştirmek için çağırmaktır .MSTest.exe
ve vstest.console.exe
daha sonra seslenebileceksiniz. Bu çalıştırılabilir dosyaların nerede bulunduğunu gerçekten bulmanın bir acı olduğunu unutmayın, çünkü bunlar MSBuild.exe
Build Tools ile aynı dizin yapısında olmayacaklar .Son olarak ve çok önemli olarak: kullanıyorsanız MSTest.TestFramework
ve yine de testleri Visual Studio IDE içinden keşfedip çalıştırabilmeniz gerekiyorsa MSTest.TestAdapter
, birim testi projelerinize de yüklenmeniz gerekir .
1: VS2017 yan yana yüklemeleri desteklerken, yalnızca en son yüklemeyi kaydeden tek bir kayıt defteri anahtarı kullanır. Bu nedenle, Test Aracısını en son yüklerseniz, anahtar yükleme dizinine işaret eder ... ancak Test Aracısı içermez MSBuild.exe
, bu nedenle yürütülebilir dosyanın yolunu bulmak için bu kayıt defteri anahtarına dayanan herhangi bir kod başarısız olur. Microsoft, Test Aracısını neden Derleme Araçlarının isteğe bağlı bir parçası yapamadı (böylece tüm EXE'ler aynı dizin hiyerarşisinde yaşıyor) kimsenin tahmin edemeyeceği bir şey.
File extension specified '.webtest' is not a valid test extension.
benim için başarısız oluyor .
vswhere
hiç yoktan iyidir, ancak yine de MSBuild'in VS yükleme dizinine göre nerede bulunduğuna dair bir varsayımda bulunmanız gerekir ... eğer (ne zaman?) Microsoft bu yürütülebilir dosyaların herhangi birini yeniden konumlandırmaya karar verirse, bu varsayım artık geçerli değildir . Microsoft, MSBuild / MSTest / VSTest'e giden yolu (kimsenin gerçekten umursamadığı VS kurulum dizininin aksine) almak için programlı bir yol yaratamaması veya yaratmayacağı neden benden ötede kalıyor.
No test is available in C:\Users\..\Desktop\MyExeName.exe...
. SO hakkında bir soru açtım . Herhangi bir fikrin varsa, yardımın için minnettar olurum.
Muhtemelen yapabileceğinizi düşünüyorum, ancak kesinlikle desteklenmiyor.
MSTest'in Visual Studio yüklü olmadan çalıştığını iddia eden biri tarafından yazılmış bu blog makalesini buldum.
@crocpulsar, Visual Studio'yu derleme sunucunuza yüklemeniz gerekir, ancak ek bir lisans satın almanıza gerek YOKTUR .
Derleme ve MSTest'i VS yüklenmeden çalıştırmak için çok fazla bağımlılık var ve kesinlikle desteklenmiyor.
Oluşturmayı başlatan kişinin bir lisansı olduğu sürece, inşa sunucusu için bir lisansa ihtiyacınız yoktur. 2005'in karanlık günlerinden beri durum böyleydi ve baskı eşliği olduğu sürece sorun yok.
Ekibinizdeki herkes Ultimate'a sahipse, bunu derleme sunucusuna yüklemekte özgürsünüz; ancak ekip üyelerinizden birinin Premium'u varsa, o zaman ideal olarak derleme sunucusuna Premium yüklemelisiniz. Bu aynı zamanda Kod Kapsamı, Test Etki Analizi ve Mimari Doğrulama gibi diğer birçok biti de etkinleştirir.
Bunu, Visual Studio 2017 IDE'yi yüklemeden sunucularımda çalıştırdım. Benim ihtiyacım
Diğer cevaplarda belirtilen birkaç şeyin bir kombinasyonunu yapmak zorunda kaldım ve sonra da burada başka bir tane .
VS2017:
3. Adım aşağıdaki sorunu düzeltmekti:
"Bu başvuru çözülemedi." Microsoft.VisualStudio.QualityTools.UnitTestFramework "derlemesi bulunamadı"
Bu da şunlara neden oldu:
"CS0234 hatası: 'VisualStudio' tür veya ad alanı adı 'Microsoft' ad alanında mevcut değil (bir derleme başvurusu eksik mi?)"
Projeye herhangi bir referans eklemem gerekmedi. Ancak, vstest.console.exe dosyasının yolu TestAgent klasöründe bulunur (benim için "C: \ Program Files (x86) \ Microsoft Visual Studio \ 2017 \ TestAgent \ Common7 \ IDE \ CommonExtensions \ Microsoft \ TestWindow" idi. )
Derleme sunucumun VS 2012'yi kurmadan MsTest'i çalıştırmasını sağlamak için attığım adımlar şunlardır:
'Msdia110.dll' dosyasını c: /windows/syswow64/regsvr32.exe / i '../mstest/assemblies/msdia110.dll'(Bu bir hata attı, ancak nedense yine de çalıştı. Birkaç kez çalıştırdım kez denedim ve kontrol etmeden önce farklı regsvr32.exe sürümlerini denedim, ancak kayıt defterinde var)
Ortam değişkenini 'MSTEST_HOME' ekleyin ve onu 'c: \ dev \ mstest \' olarak veya yolunuza ayarlayın. Derleme komut dosyamda ortam değişkenini kullandım.
MsTest yürütme hatası hata ayıklama:
'MsTest.exe.config'e ekleyin
<system.diagnostics>
<trace autoflush="true" indentsize="4">
<listeners>
<add name="EqtListener" type="System.Diagnostics.TextWriterTraceListener" initializeData="C:\MsTest.log" />
</listeners>
</trace>
<switches>
<add name="EqtTraceLevel" value="Verbose" />
</switches>
</system.diagnostics>
Mstest.exe web test aracını çalıştırmanız gerekiyorsa, Visual Studio Enterprise deneme sürümünü yükleyebilir ve başka bir şey yapılmasına gerek kalmadan testin çalışacağı hesap altında en az bir kez çalıştırdığınızdan (yalnızca başlatın) emin olun. Dolayısıyla, testiniz Sistem hesabı altında çalıştırılırsa, aşağıdaki gibi bir şey kullanmanız gerekir
PS C:\agent> psexec -s cmd.exe
C:\Windows\system32>"C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\mstest.exe"
Microsoft (R) Test Execution Command Line Tool Version 15.0.27520.0
Copyright (c) Microsoft Corporation. All rights reserved.
Please specify tests to run, or specify the /publish switch to publish results.
For switch syntax, type "MSTest /help"