Saya punya solusi sederhana dalam visual studio 2013 yang terdiri dari satu proyek web, satu proyek perpustakaan dan satu proyek uji unit. Ketika saya membuka solusi dan mencoba menjalankan unit test mereka tidak ditemukan oleh studio visual. Untuk menjalankan tes saya mencoba untuk pergi ke menu dan pilih Test -> Run -> Jalankan semua tes atau dengan membuka jendela test explorer. Oleh orang-orang untuk metode visual studio tidak menemukan tes apa pun dalam solusi.
Membuat proyek tes unit sederhana pertama dan mencoba menjalankan tes, visual studio tahu menemukan tes dan saya bisa menjalankannya. Kemudian, jika saya membuka solusi visual studio saya sebelumnya sekarang menemukan semua tes. Saya mencoba menyimpan solusi saya tetapi menutupnya dan membuka kembali, tanpa membuat proyek unit test terlebih dahulu, studio visual tidak menemukan tes lagi. Ini adalah perilaku yang sangat aneh sehingga saya tidak tahu mengapa ini terjadi.
Saya dulu bekerja sendirian dalam proyek ini yang menggunakan source control git terintegrasi dengan yayasan tim studio visual. Masalah visual studio tidak menemukan tes unit mulai ketika elemen baru datang ke proyek dan ketika saya harus membuat ulang solusi melalui kontrol sumber online. Sebelum ini, semua tes selalu ditemukan oleh studio visual.
Untuk membuat tes unit saya menggunakan dll Microsoft.VisualStudio.QualityTools.UnitTestFramework dll. Versi visual studio saya adalah: Pembaruan Microsoft Visual Studio Express 2013 untuk Versi Web 12.0.30723.00 3. Versi saya .net framework adalah 4.5.50938.
Semua tes saya seperti ini:
[TestClass]
public class Service1Test
{
[TestMethod]
public void Test1()
{
Assert.IsTrue(True);
}
}
sumber
Jawaban:
Beberapa hal yang saya perhatikan harus saya lakukan dari waktu ke waktu untuk mendapatkan tes untuk tampil dengan benar.
Jika solusi Anda berada dalam drive yang dilindungi yang Anda perlukan akses administrator untuk membaca / menulis, kadang-kadang hanya sebagian dari tes yang muncul. Jalankan VS sebagai administrator dalam hal itu.
Jika solusi Anda 64 bit, pastikan Uji> Pengaturan Tes> Arsitektur Prosesor Standar diatur ke x64. Terkadang diatur ke x86. Atur ke x64, lalu bangun kembali.
Kadang-kadang hanya me-restart Visual Studio melakukan trik karena penjelajah uji akan mulai lagi.
Jangan lupa untuk benar-benar membangun proyek uji / solusi. (Jika Anda ingin membangun dengan sisa proyek, klik kanan pada solusi Anda> Properties> Configuration Properties> Configuration> centang kotak "Build" untuk proyek pengujian Anda)
Pastikan tes berada di
public
bagian kelas tes Andasumber
Jika Anda menggunakan NUnit, pastikan untuk mengunduh NUnit Adapter terlebih dahulu.
Buka Alat → Ekstensi dan Pembaruan… → Online → cari "NUnit Test Adapter".
sumber
Pastikan kelas tes Anda
public
sehingga dapat ditemukan. Dan jika Anda mereferensikan kelas lain, pastikan hal yang sama.Juga, kadang-kadang jika Anda tidak memiliki Meminta atau Anda tidak mendekorasi tes dengan
[TestMethod]
, tes mungkin tidak dikenali.2 hal lagi: 1) Tes unit Async bertindak lucu di terbaik, dan tidak ada sama sekali di terburuk. Lihat artikel ini oleh Stephen Cleary dan simpan dari sana jika itu menarik minat Anda.
2) Jika Anda menggunakan NUnit dan Anda mengalami masalah yang sama, ingatlah itu
[TestCase]
untuk Nunit, bukan[TestMethod]
Setelah mengatakan hal di atas, inilah artikel yang saya posting di proyek kode, dengan keduanya
MSTest
&NUnit
, jika Anda ingin mencobanya dan pastikan Anda tidak melewatkan apa pun.sumber
using Microsoft.VisualStudio.TestTools.UnitTesting;
Saya memiliki masalah yang sama tetapi tidak ada solusi lain yang berhasil. Ternyata saya menggunakan kerangka NUnit 3 dengan 2 adaptor.
Jika Anda menggunakan NUnit 3, buka Extensions and Updates dan instal NUnit3 Test Adapter.
sumber
Saya mengalami masalah ini dari waktu ke waktu. Yang berhasil bagi saya adalah mematikan Visual Studio dan membuka folder:
dan hapus kontennya.
Setelah Anda membuka Visual Studio dan memuat proyek Anda lagi, Test Explorer akan memuat kembali tes Anda
sumber
%LocalAppData%\Microsoft\VisualStudio\16.0_03b7a93c\ComponentModelCache
Pengguna XUnit mungkin melihat jendela Test Explorer tidak lagi mencantumkan tes apa pun. Untuk membuat tes dapat ditemukan kembali coba tip penting ini , disorot di bawah ini.
sumber
Untuk googler masa depan saya memiliki skenario langka yang menyebabkan ini.
Di kelas tes dasar saya, saya memiliki properti bernama TestContext. Ini mengganggu properti TestContext milik MSTest yang menyebabkan semua tes saya disembunyikan dari VS / Resharper kecuali satu (yang tidak mewarisi dari pangkalan).
sumber
public
.bagi saya itu mengubah 'konfigurasi solusi' ke Debug (bukan Release).
sumber
Masalah saya adalah karena metode unit test saya tidak batal , dan menerima parameter.
sumber
Saya telah menemukan bahwa metode unit test ditandai sebagai
async void
tidak ditemukan oleh VS Test Explorer. Ini tampaknya karena VS tidak akan memiliki cara untuk menunggu tes selesai dan memutuskan apakah itu berhasil atau tidak. Jika Anda benar-benar perlu memiliki metode pengujian untuk menjalankan secara tidak sinkron, maka dapatkan untuk mengembalikan Tugas sebagai gantinyaasync Task
. Saya menemukan bahwa ini memperbaiki masalah saya.sumber
Cobalah membangun semua proyek sebagai MSIL (CPU Apa Saja) alih-alih x86 / x64. Anehnya, bekerja untuk saya
sumber
Sementara solusi AndyG bekerja, solusi yang lebih tahan lama adalah dengan mengatur variabel lingkungan PreferredToolArchitecture menjadi "x64", baik dengan:
Cara membuat Visual Studio menggunakan toolchain amd64 asli
atau dengan:
sumber
Saya menghadapi masalah yang sama dan saya ingat, sekali lagi (situasi ini terjadi sebelumnya), bahwa memilih "Platform Campuran" pada menu solusi platform berfungsi, serta jawaban lainnya.
sumber
Saya berhasil menambahkan milik saya sebagai
mulai bekerja setelah saya menghapus statis ....
sumber
Pergi ke pengelola paket Nuget dan unduh Nunit Adapter sebagai berikut.
sumber
buka menu proyek> Pengelola Konfigurasi periksa platform proyek pengujian Anda cocok dengan sisa proyek dan periksa untuk membangun lalu membangun kembali.
sumber
Hanya berlari ke ini juga karena saya tidak melihat kasus serupa yang mirip dengan milik saya.
Dalam
.csproj
file proyek pengujian saya, privasi referensi NUnit diatur keFalse
:Setelah saya mengatur
<Private>
untukTrue
itu bekerja.sumber
Anda hanya perlu menginstal paket ini saja:
NUnit TestAdapter
sumber
Untuk mendapatkan tes untuk ditampilkan di Test Explorer Window saya harus menginstal NUnit3 Test Adapter 3.0 yang tidak tersedia di Package Manager.
Diunduh dari https://visualstudiogallery.msdn.microsoft.com/0da0f6bd-9bb6-4ae3-87a8-537788622f2d
sumber
Saya memiliki masalah yang sama persis.
Itu karena versi NUnit yang tidak kompatibel yang saya tambahkan ke proyek saya (3.2.0) dan Test Adapter yang telah saya instal (2.0.0).
Untuk memperbaikinya, gunakan "Alat> Ekstensi dan Pembaruan" dan cari NUnit3 Test Adapter, itu menemukan tes saya setelah itu.
Bersulang
sumber
Katakan saja demi argumen bahwa Anda perlu menggunakan arsitektur X64 pada proyek pengujian Anda agar dependensi dapat dibangun dengan benar (seperti dalam kasus saya). Anda mungkin perlu memodifikasi Arsitektur Prosesor Default di bawah menu Tes - Pengaturan Tes . Pengaturan ini ke X64 memungkinkan penjelajah pengujian saya untuk menemukan tes saya menggunakan Microsoft.VisualStudio.TestTools.UnitTesting.
sumber
Maaf telah menambah daftar panjang, tapi saya punya masalah yang sama sekali berbeda. Pertama, saya ingin menyebutkan bahwa saya menemukan masalah saya ketika mengklik 'Jalankan Semua' di Test Explorer dan kemudian menonton jendela output build di Visual Studio. Anda harus secara aktif menontonnya, karena setelah itu pesannya hilang.
Adapun masalah, sepertinya selama pemindaian tes, DLL akan dimuat dan jenis tesnya disebutkan. Ini menyebabkan referensi dimuat dan jika ada kegagalan terjadi selama proses ini, tes tidak akan ditampilkan di explorer. Saya punya dua masalah yang mencegah tes DLL agar berhasil dimuat:
sumber
Jika Anda memuat solusi Visual Studio (VS 2015 Community dalam kasus saya) dari jaringan berbagi atau direktori Dokumen Saya yang merupakan bagian dari berbagi , Anda akan masuk ke masalah ini. Saya memecahkannya dengan memindahkan solusi dan proyek yang mendasarinya ke folder lokal.
sumber
Setelah menghabiskan 2 hari ... tidak ada yang di atas bekerja untuk saya. Satu-satunya "solusi" adalah: Buka properti proyek -> Build Tab. Kemudian klik tombol Advanced di sudut kanan bawah panel. Ubah "Info Debug:" menjadi "penuh" dan klik OK.
Berikut adalah cuplikan layar:
sumber
Saya menemukan masalah yang sama. Dan diselidiki dan menemukan bahwa dll itu tidak membangun, dan dimasukkan ke dalam folder yang tepat. segera setelah saya mengubah konfigurasi saya mereka muncul. - Opsi membangun Proyek, folder apa yang harus digunakan? - konfigurasi menu membangun entri membangun, mereka harus diperiksa.
yang memperbaikinya bagi saya.
sumber
Untuk Visual Studio 2013.5, membersihkan direktori \ TestResults dalam solusi membantu. Visual Studio merusak file mdf di mana ia menyimpan tes yang ditemukan, sehingga mencegah ditemukannya tes unit.
sumber
Pastikan semua proyek Anda berjalan dengan konfigurasi yang sama. Di bawah Properties proyek Anda => Debug => Platform dalam daftar drop-down pilih platform yang sesuai (bagi saya itu adalah "CPU Apa Pun") sebagaimana ditentukan pada proyek Anda yang lain.
sumber
sumber
Punya masalah yang sama; tes tiba-tiba berhenti ditemukan.
Nunit Test Adapter entah bagaimana menjadi tidak aktif. Mengklik mengaktifkan di manajer ekstensi memperbaikinya untuk saya.
sumber
Saya memiliki masalah yang sama sampai saya menyadari saya membuat kesalahan cut / paste dan tinggalkan
[Test Method]
sebelum tes.sumber