Saya sedang dalam proses meningkatkan solusi yang ada ke .Net 4.6.1 dan tidak dapat menjalankan pengujian unit kami selama pembuatan server. Secara lokal mereka berjalan seperti yang diharapkan dan membalik versi kerangka kembali ke .Net 4.5.1 membuatnya berjalan lagi di server.
Saya mendapatkan kesalahan berikut:
Tidak ada tes yang ditemukan. Pastikan bahwa penemu & pelaksana pengujian yang diinstal, setelan versi platform & kerangka kerja sudah sesuai dan coba lagi.
Saya telah mereproduksi masalah dalam pengaturan yang lebih sederhana:
- Solusi dengan satu proyek Uji Unit C # dengan dua pengujian (satu gagal, satu lulus).
- XAML membangun definisi menggunakan Templat Default (TfvcTemplate.12.xaml)
- TFS 2015 Update 1 XAML build server dengan Visual Studio Enterprise 2015 Update 1 diinstal (memiliki enam server serupa dan semua menghasilkan hasil yang sama)
unit-testing
tfs
build
tfs-2015
Robek Østergaard
sumber
sumber
Jawaban:
Ini adalah masalah yang diketahui untuk .Net 4.6 sekarang.
Berikut adalah pertanyaan serupa untuk referensi Anda: Tidak dapat menjalankan .Net 4.6 Pengujian unit server pembuatan TFS 2015 XAML
sumber
Anda dapat mencoba mengubah arsitektur prosesor default Anda di Setelan Pengujian dari X86 ke X64. Dalam kasus saya, inilah masalahnya.
Ini terjadi jika target platform dari proyek Anda yang diuji disetel ke
x64
.sumber
Bangunan saya juga tidak menemukan tes. Pengaturan dan solusi saya untuk menemukan pengujian adalah sebagai berikut.
Saya menggunakan VSTS (Visual Studio Team Services) dan memiliki build yang dikonfigurasi untuk menyegarkan paket NUGET di setiap build. Saya menggunakan NUnit dan menemukan bahwa menjalankan perintah NUGET berikut (dari konsol manajer paket di Visual Studio) untuk menambahkan perpustakaan NUnitTestAdapter ke proyek pengujian saya dan pemeriksaan di packages.config membuat pengujian berjalan di membangun VSTS saya.
Seperti yang disebutkan Maurice di Komentar untuk posting ini untuk NUnit3 gunakan paket NUGET berikut (Cari utilitas lain di tautan. Yaitu: dotnet CLI dan Paket CLI)
Semoga ini membantu.
sumber
Dalam kasus saya, saya harus:
Konversi proyek uji ke netcore 2.0 (sebelumnya netstandard 2.0)
Tambahkan paket nuget
xunit.runner.visualstudio
Referensi: http://www.neekgreen.com/2017/11/20/xunit-no-test-is-available/
sumber
Saya menggunakan MSTest. Bagi saya, itu benar versi yang salah dan kehilangan paket dependen lainnya -
1) Folder paket saya hanya berisi paket MSTest.TestFramework.1.2.1. Dalam file proyek saya (.csproj) referensi dalam Nama Target adalah paket MSTest.TestAdapter.1.2.0 yang tidak ada dalam folder paket. Package.config saya juga memiliki referensi MSTest.TestFramework.1.2.0.
2) Jadi saya menginstal MSTest.TestAdapter.1.2.0 dari manajer paket nuget dan menyelaraskan versi MSTest.TestFramework ke 1.2.0 dalam proyek dan file paket. Akhirnya saya menambahkan Microsoft.VisualStudio.TestPlatform.TestFramework dan Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions di referensi.
Kemudian semuanya baik-baik saja. Semoga ini bisa membantu seseorang.
sumber
Saya mendapat kesalahan ini dan dapat mengatasinya.
sumber
Masalah ini muncul lagi untuk Visual Studio 2017. Kemungkinan besar bug lain tetapi hasil yang sama.
Satu solusi yang tampaknya berhasil adalah membongkar Microsoft Visual Studio 2017 Remote Debugger dari mesin yang terpengaruh.
sumber
Saya mengalami masalah yang sama di VSTS dengan .Net 4.6.2. Jika Anda melihat ini dari keluaran konsol VSTS Anda, solusi yang disediakan oleh @Sushil masih berfungsi di VSTS dan diperlukan. Sayangnya tugas "Test Assemblies" yang disediakan oleh Microsoft lolos, jadi Anda benar-benar bahkan tidak tahu ada masalah kecuali Anda memeriksa output dan menemukan tidak ada pengujian yang benar-benar dijalankan!
sumber
sumber
Jika Anda menjalankan pengujian di dalam buruh pelabuhan menggunakan pembangunan multistage dan pengujian tidak ditemukan. Pastikan Anda menyalin semua file tidak hanya file proyek seperti di bawah ini bagian Dockerfile.
sumber
Saya memperbaiki ini berdasarkan masalah di proyek uji VS 2017 & 4.6.2 dengan langkah-langkah berikut:
sumber
Pastikan Anda telah memasang nuget "Microsoft.NET.Test.Sdk".
sumber
Saya tetap masalah ini dengan menginstal ulang semua pengujian terkait paket nuget untuk proyek tersebut:
Xunit
,Xunit.runner.vistualstudio
,Microsoft.Net.Test.Sdk
sumber
Saya mendapatkan masalah serupa dan melihat entah bagaimana
app.config
file telah ditambahkan ke proyek pengujian saya. Menghapus file konfigurasi ini memperbaikinya untuk saya.sumber
Menggunakan .Net Core dengan pipeline build di TFS 2017, langkah Uji Visual Studio saya lewat tanpa benar-benar menjalankan pengujian apa pun. Harus mengedit langkah, "Opsi Eksekusi Lanjutan" -> "Opsi konsol lain" untuk menyertakan:
(Bidang itu juga berisi
/platform:x64
)sumber
Saya mendapatkan kesalahan ini karena kelas pengujian Unit saya bukan untuk umum.
Ex:
class ClientTests
Kesalahan dalam Keluaran:
...\bin\Debug\Tests.dll] UTA001: TestClass attribute defined on non-public class ClientTests
Koreksi:
public class ClientTests
sumber
Saya akan membuang solusi saya ke heap. Dalam kasus saya, saya menambahkan beberapa proyek ke solusi yang ada bersama dengan proyek Uji untuk mereka. Kami menggunakan MSTest. Ada file UnitTest.testsettings sebelumnya yang diaktifkan pada solusi yang menyebabkan masalah kompatibilitas.
Mengklik pada file pengaturan menghapus cek dan uji coba berhasil untuk pengujian saya.
sumber
Temukan cara! Mungkin bukan yang paling ortodoks tetapi itu membantu saya dengan tergesa-gesa:
Saya tidak berpikir ada yang khusus dengan versinya, tetapi memperbaruinya pasti membersihkan referensi apa pun yang buruk dalam solusi / proyek.
sumber
Ini hanya untuk merekap solusi yang diajukan oleh @Sushil sebelumnya.
Ini adalah masalah yang diketahui di Team Foundation Server 2015 RTM + Pembaruan 1 dan akan diperbaiki di Pembaruan 2, referensi .
Ada solusi yang dijelaskan oleh @Sushil di sini , yang mencakup menambahkan file .runsettings yang memaksa runner pengujian ke kerangka kerja .Net yang lebih lama (harap diperhatikan bahwa Anda tidak harus menentukannya melalui dialog "Tambah / Edit Uji Coba" seperti menambahkannya secara langsung dalam proses pembuatan editor akan diabaikan).
sumber
Dalam Visual Studio 2017 saya hanya menghapus dan menginstal ulang NUnitTestAdapter atau menginstal paket baru seperti paket NUnitTestAdapter. Dengan paket Framework dan masalah hilang.
sumber
Saya mengalami masalah yang sama. Saya menggunakan Visual Studio 2017 Community Edition.
Saya menggunakan langkah-langkah ini untuk berhasil menemukan semua kasus pengujian saya dan berhasil menjalankannya:
Pertama pergi ke Ekstensi dan Pembaruan, instal Adaptor Uji NUnit3. Jika sudah punya, aktifkan saja.
Restart Visual Studio 2017 Anda, secara otomatis akan meminta untuk
menginstal ekstensi Anda, jika prompt mengatakan untuk mengakhiri tugas untuk melanjutkan
penginstalan, cukup klik "End Task".
Setelah itu, buat kembali Test Project Anda dan semua kasus pengujian sekarang akan diidentifikasi dan Anda sekarang dapat mulai menjalankan kasus pengujian Anda.
sumber
Dalam kasus saya Menginstal Ulang Adaptor Nunit3, Menghapus folder temp, Mengubah arsitektur dan tidak ada yang berhasil. Itu karena Daemon Resharper menyebabkan masalah.
Itu menyelesaikan masalah.
sumber
Kesalahan ini dapat terjadi untuk pengujian asinkron jika Anda memiliki tipe pengembalian yang salah. Jenis pengembalian harus Tugas, dan tidak batal.
sumber
Setelah menambahkan TestAdapterPath di komandan, ini berfungsi untuk saya:
sumber
Dalam kasus saya, pengujian ditemukan tetapi berjalan menghasilkan "Pengujian tidak Tersedia ... " dan (di) terkenal: "Pastikan penemu & pelaksana pengujian terdaftar dan setelan versi platform & kerangka kerja sesuai dan coba lagi."
kesalahan itu independen dari Visual Studio (diuji dari alat CLI dotnet dan uji UNit hampir telanjang) dan itu hanya ketika menargetkan .NET 4.7.1. aplikasi dotnetcore berfungsi dengan baik.
juga menjalankan tes dengan Nuint3 CLI
nunit3-console.exe Tests.csproj
menunjukkan kesalahan:"Entah perakitan tidak berisi tes atau driver tes yang tepat belum ditemukan."
kesalahan ini karena adaptor uji tidak dapat ditemukan pada drive jaringan (yang dipetakan) atau berbagi dan diselesaikan dengan menyalinnya secara lokal dan menjalankan ulang.
sumber
Coba jalankan
vstest.console.exe
dengan--diag:diag.txt
dan memeriksa output. Bagi saya itu adalah kegagalan beban DLL untuk adaptor uji dari direktori kerja saya:TpTrace Information: 0 : 14976, 1, 2020/03/10, 15:34:22.120, 57158093583, vstest.console.exe, AssemblyResolver.OnResolve: Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter: Failed to load assembly. Reason:System.IO.FileLoadException: Could not load file or assembly 'file:///C:\Directory\Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.dll' or one of its dependencies. Operation is not supported. (Exception from HRESULT: 0x80131515)
File name: 'file:///C:\Directory\Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.dll' ---> System.NotSupportedException: An attempt was made to load an assembly from a network location which would have caused the assembly to be sandboxed in previous versions of the .NET Framework. This release of the .NET Framework does not enable CAS policy by default, so this load may be dangerous. If this load is not intended to sandbox the assembly, please enable the loadFromRemoteSources switch. See http://go.microsoft.com/fwlink/?LinkId=155569 for more information.
Saya bekerja di sekitar ini dengan menambahkan di
<loadFromRemoteSources enabled="true"/>
bawah<runtime>
di vstest.console.exe.configsumber
Saya menggunakan MSTest.
Saya menginstal dari Nuget versi terbaru MSTest.TestFramework dan mengganti OOB. Hapus referensi ke Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll
Kemudian Diinstal dari neget versi terbaru Microsoft.TestPlatform
Itu memungkinkan saya untuk menjalankan tes dengan perintah:
Tapi saya mendapat kesalahan yang sama. Akar penyebab kesalahan karena saya tidak menentukan adaptor uji yang mengurai rakitan dan menemukan tes.
Larutan:
Instal paket nuget "MSTest.TestAdapter"
Tentukan adaptor uji di akhir perintah:
/TestAdapterPath:".\packages\MSTest.TestAdapter.2.1.2\build_common "
sumber
Saya menghadapi masalah serupa ketika mencoba nUnit di VS 2017 dan itu bukan proyek inti. Memasang
NUnit3TestAdapter
memperbaiki masalah.sumber
Saya memecahkan masalah ini dengan menginstal NUnit3TestAdapter NuGet ke dalam proyek saya ( https://www.nuget.org/packages/NUnit3TestAdapter/ ).
File .csproj saya
sumber
Pertanyaan ini jelas ditemukan oleh orang-orang dengan berbagai skenario, jawaban saya akan mencakup menjalankan tes XUnit pada proyek .NET Core menggunakan pipeline build di Azure DevOps tetapi dapat membantu orang lain juga.
otherConsoleOptions: '/framework:.NETCoreApp,Version=v3.1'
ke langkahinputs
AndaVSTest@2
(dengan nomor versi yang disetel ke versi .NET Core apa pun yang Anda gunakan). Lihat dokumentasi ini untuk info lebih lanjut.failOnMinTestsNotRun: true
sehingga pipeline build akan melaporkan kegagalan jika tidak ada pengujian yang dijalankan.The library 'hostpolicy.dll' required to execute the application was not found
. Anda dapat mengatasi ini dengan mengubah filter Anda dari default**\*test*.dll
ke**\*test.dll
(perhatikan tanda bintang yang dihapus), atau pola lain yang akan cocok dengan DLL proyek pengujian Anda. Alasannya adalah karena XUnit menempatkan file yang dipanggiltesthost.dll
di direktori output, seperti yang dijelaskan dalam masalah github ini .Jika Anda menggunakan pipeline lama yang tidak menggunakan yaml, opsi yang sama harus tersedia. Jawaban ini mencakup penambahan kerangka kerja, saya berasumsi juga akan ada opsi untuk "Gagal tugas jika jumlah minimum tes tidak berjalan" atau yang serupa.
sumber