Saya memiliki beberapa tes yang menggunakan bawaan Microsoft.VisualStudio.TestTools.UnitTesting
, tetapi tidak bisa menjalankannya.
Saya menggunakan visual studio 2012 ultimate.
Saya punya solusi dari dua proyek; Satu memiliki tes, using Microsoft.VisualStudio.TestTools.UnitTesting
, [TestClass]
sebelum kelas, [TestMethod]
sebelum metode uji dan referensi Microsoft.VisualStudio.QualityTools.UnitTestFramework
(versi 10.0.0.0, versi runtime v2.0.50727). Saya telah mencoba kerangka kerja dot-net 3.5, 4 dan 4.5 lainnya memberikan kesalahan penargetan ulang.
Saya sudah mencoba membangun solusi dan proyek. Penjelajah uji memiliki pesan `Bangun solusi Anda untuk menemukan semua tes yang tersedia. Klik "jalankan semua" untuk membangun, menemukan, dan menjalankan semua tes dalam solusi Anda.
Jadi pertanyaannya adalah: Bagaimana cara mendapatkan studio visual untuk menemukan tes?
Saya juga telah mencoba mengikuti ini: http://msdn.microsoft.com/en-US/library/ms379625%28v=VS.80%29.aspx tetapi tanpa hasil: Saya terjebak di bagian memulai, ketika diminta untuk klik kanan dan pilih create tests
. Tidak ada create tests
.
Saya memiliki tes ini (ini mengkompilasi, tetapi tidak muncul di test explorer):
using Microsoft.VisualStudio.TestTools.UnitTesting;
namespace tests {
[TestClass]
public class SimpleTest {
[TestMethod]
public void Test() {
Assert.AreEqual("a","a", "same");
}
}
}
Saya sekarang telah menemukan (lihat jawaban yang dihapus di bawah) bahwa itu karena itu ada di drive bersama, tetapi saya belum tahu bagaimana cara mengatasinya. (Sesuatu tentang pengaturan keamanan mungkin).
sumber
Jawaban:
Saya memiliki gejala yang sama, tetapi dalam keadaan yang berbeda.
Saya harus menambahkan satu langkah tambahan ke solusi Peter Lamberg - Bersihkan solusi / proyek Anda.
Target proyek saya yang belum dirilis x64. Ketika saya membuat proyek itu awalnya menargetkan x86.
Setelah beralih ke x64 semua unit test saya menghilang.
Saya harus pergi ke Menu Tes -> Pengaturan Tes -Default Processor Architecture -> x64.
Mereka masih belum muncul.
Apakah membangun.
Masih tidak muncul.
Akhirnya melakukan Clean
Kemudian mereka muncul.
Saya menemukan Solusi Bersih dan Bersihkan cukup berguna untuk mendapatkan solusi untuk bermain bola ketika pengaturan telah berubah. Kadang-kadang saya harus pergi ke ekstrim dan menghapus
obj
danbin
direktori dan melakukan membangun kembali.sumber
Silakan tambahkan kata kunci publik ke definisi kelas Anda. Kelas tes Anda saat ini tidak terlihat di luar rakitannya sendiri.
sumber
[TestMethod]
statis karena copy-paste kode lain.[TestMethod]
di mana statis karena itulah yang adaUserTest1.cs
di proyek pengujian baru! Juga memecahkan masalah saya.static
di depan metode Anda. Saya tidak tahu mengapa saya sering melakukannya karena kebiasaan.Ini terkadang berhasil.
Periksa apakah arsitektur prosesor di bawah menu Uji cocok dengan yang Anda gunakan untuk membangun solusi.
Tes -> Pengaturan Tes -> Arsitektur Prosesor Default -> x86 / x64
Seperti disebutkan dalam posting lain, pastikan Anda memiliki jendela Test Explorer terbuka. Test -> Windows -> Test Explorer
Kemudian membangun kembali proyek dengan tes harus membuat tes muncul di Test Explorer.
Sunting: Seperti yang ditunjukkan Ourjamie di bawah ini, melakukan pembersihan bersih juga dapat membantu. Selain itu, ada satu hal lagi yang saya temui:
Kotak centang "Bangun" tidak digunakan di Pengelola Konfigurasi untuk proyek pengujian baru yang saya buat di bawah solusi.
Pergi ke Build -> Configuration Manager. Pastikan proyek pengujian Anda telah membangun kotak centang diperiksa untuk semua konfigurasi solusi dan platform solusi.
sumber
Saya punya Visual Studio 2012 dan saya tidak bisa melihat Tes di Test Explorer,
Jadi saya menginstal yang berikut ini: NUnit Test Adapter
Itu memperbaiki masalah bagi saya!
sumber
Install-Package NUnitTestAdapter
Dalam pengalaman saya baru-baru ini semua hal di atas tidak berhasil. Metode pengujian saya
tidak muncul tetapi kompilasi dengan baik. Ketika saya menghapus
async
kata kunci tes yang muncul di Test Explorer. Ini adalah bacauseasync void
adalah metode 'api-dan-lupakan'. Buat metodeasync Task
dan Anda akan mendapatkan tes Anda kembali!Selain itu, tidak memiliki konfigurasi proyek Uji diatur ke "Build" juga akan mencegah tes muncul. Manajer Konfigurasi> Periksa Tes Anda untuk membangun.
sumber
Karena proyek ini berada di drive bersama seperti yang ditunjukkan poster asli. VS.NET perlu mempercayai lokasi jaringan sebelum akan memuat dan menjalankan rakitan pengujian Anda. Baca posting blog ini .
Untuk mengizinkan VS.NET memuat hal-hal dari jaringan yang dibagikan, seseorang harus menambahkannya (berbagi) ke lokasi tepercaya. Untuk menambahkan lokasi ke menjalankan daftar trust penuh (jelas ubah sebagaimana diperlukan untuk lingkungan Anda):
Untuk memverifikasi atau daftar lokasi tepercaya yang ada jalankan:
sumber
CasPol.exe
dapat ditemukan di bawah%windir%\Microsoft.NET\Framework[64]\[version]
. Verifikasi bahwa Anda menetapkan kebijakan untuk arsitektur yang tepat. Sumber: msdn.microsoft.com/en-us/library/cb6t8dtz%28v=vs.100%29.aspxMasalah yang saya temukan adalah bahwa tes tidak ditemukan di Test Explorer (tidak ada yang muncul) jika solusinya menjalankan drive jaringan / lokasi jaringan / drive bersama
Anda dapat memperbaikinya dengan menambahkan variabel lingkungan.
COMPLUS_LoadFromRemoteSources dan set nilainya menjadi 1
sumber
Saya memiliki masalah yang sama .. Dalam kasus saya itu disebabkan oleh properti pribadi
TestContext
.Mengubahnya menjadi yang berikut membantu:
Setelah membersihkan dan membangun solusi (seperti yang dijelaskan dalam jawaban @Ourjamie), metode pengujian di kelas uji yang terpengaruh tersedia di Test Explorer.
sumber
Saya mengalami masalah yang sama ketika mencoba untuk membuka solusi pada jaringan berbagi. Tidak ada unit test yang terdeteksi oleh Test Explorer dalam hal ini. Solusinya ternyata:
Panel Kontrol -> Opsi Internet -> Tab "Keamanan" -> Klik "Intranet" dan tambahkan alamat IP server atau nama host yang memegang pembagian jaringan ke daftar "Situs".
Setelah melakukan ini, saya mengkompilasi ulang solusi dan sekarang tes muncul. Ini harus sangat mirip dengan jawaban yang dibuat oleh @BigT.
sumber
Daftar periksa cepat untuk menyelesaikan beberapa masalah tes umum. Pastikan bahwa:
public
[TestClass]
atribut[TestMethod]
atributJika ini tidak membantu, cobalah membersihkan, membangun kembali solusi dan memulai kembali Visual Studio.
sumber
UTA001: TestClass attribute defined on non-public class
Saya mendapatkan kesalahan:
"Failed to initialize client proxy: could not connect to vstest.discoveryengine.exe."
Cobalah untuk menjalankan Visual Studio sebagai Administrator. Itu berhasil bagi saya.
Ada posting Stack Overflow lain yang membahas kesalahan ini , dan solusi yang sama berfungsi untuk mereka. Pertanyaannya tetap mengapa ini berhasil.
sumber
Terkadang saya mengalami gejala yang sama.
Apa yang saya lakukan adalah:
1. Menutup jendela Test Explorer
2. Membersihkan solusi
3. Membangun kembali solusi
4. Meluncurkan kembali jendela Test Explorer dari Test -> Windows -> Test Explorer.
Dan saya mendapat tes saya di jendela Test Explorer.
sumber
Dari menu bar di atas ...
Tes -> Jalankan -> Semua Tes
Anda juga dapat melihat semua tes dari Test Explorer (Test -> Windows -> Test Explorer)
Lebih lanjut dengan VS 2012, jika Anda melewatkan sesuatu, cobalah mencarinya menggunakan bilah Luncur Cepat di kanan atas (Ctrl + Q) "Uji"
Semoga ini membantu.
sumber
Microsoft.VisualStudio.TestTools.UnitTesting
, tahu apa lagi yang saya lakukan salah?Saya menemukan cara terbaik untuk memecahkan masalah ini adalah dengan membuat file msbuild .proj dan menambahkan proyek uji unit yang Anda miliki mengalami masalah pada file ini dan menjalankan tes menggunakan versi baris perintah mstest. Saya menemukan masalah konfigurasi kecil di app.config saya yang hanya muncul ketika menjalankan tes dari mstest - jika tidak, proyek uji yang dibangun dengan baik. Anda juga akan menemukan masalah referensi tidak langsung dengan metode ini juga. Setelah Anda dapat menjalankan tes Unit dari baris perintah menggunakan mstest Anda kemudian dapat melakukan solusi bersih, membangun kembali solusi dan tes Anda harus ditemukan dengan benar.
sumber
Dalam kasus saya itu adalah sesuatu yang lain. Saya telah menginstal paket dan kemudian menghapusnya dan menginstal ulang versi sebelumnya. Yang meninggalkan
configuration/runtime/asssemblyBinding/dependencyIdentity
pengalihan residu di app.config saya. Saya harus memperbaikinya. Saya mengetahuinya dengan melihat keOutput
jendela dan memilih "Tests
" di drop down. Pesan kesalahan ada di sana. Ini menyakitkan ... Saya harap ini membantu orang lain.sumber
Ini lebih untuk membantu orang yang berakhir di sini daripada menjawab pertanyaan OP:
Coba tutup dan buka kembali studio visual, lakukan trik untuk saya.
Semoga ini bisa membantu seseorang.
sumber
Saya tahu ini adalah pertanyaan yang lebih lama tetapi dengan Visual Studio 2015 saya mengalami masalah di mana kelas tes yang baru saya buat tidak dikenali. Mencoba semuanya. Yang akhirnya menjadi masalah adalah bahwa kelas tidak "termasuk dalam proyek". Saya hanya menemukan ini di restart Visual Studio dan memperhatikan bahwa kelas tes saya tidak ada di sana. Setelah memperlihatkan file-file tersembunyi, saya melihatnya, juga kelas-kelas lain yang saya tulis, tidak dimasukkan. Semoga itu bisa membantu
sumber
Saya mengalami masalah ini berkali-kali ketika saya mencoba membangun solusi di PC yang berbeda.
Saya menggunakan NUnit dan Specflow juga. Secara default proyek pengujian saya menargetkan X86 Tapi saya harus mengubahnya ke X64. Langkah-langkahnya adalah 1. Menu Tes -> Pengaturan Tes -Default Processor Architecture -> x64. 2. Clean Build 3. Build 4. Jika masih tes tidak muncul. 5. Buka Alat Ekstensi dan Pembaruan Kemudian Instal perpustakaan NUnit dan Specflow 6. Clean Build 7. Build
Maka biasanya tes akan ditampilkan di Uji Editor.
sumber
Saya telah memperbarui VS 2012 ke Pembaruan Terbaru. yaitu pembaruan visual studio 3. Itu memperbaiki masalah bagi saya.
sumber
Bagi saya solusinya hanya sedikit kurang rumit.
Saya baru saja membawa solusi yang ada ke mesin saya (kloning dari gitHub) dan kami tidak melacak file .cs yang dibuat secara otomatis yang dibuat oleh Visual Studio. (Untuk setiap file fitur ada file .cs dengan nama yang sama)
Membuka solusi tanpa memiliki file .cs yang terkait sebenarnya memungkinkan saya untuk menavigasi ke metode terikat, sehingga tampaknya seolah-olah specflow telah terhubung dengan benar, tetapi saya tidak dapat melihat nama tes di Explorer Explorer.
Untuk masalah ini cukup mengecualikan file fitur dari proyek dan kemudian memasukkannya kembali, memaksa VS untuk membuat ulang file codebehind yang dihasilkan secara otomatis ini.
Setelah itu, saya bisa melihat tes di explorer tes.
sumber
Saya mengalami masalah ini ketika memutakhirkan solusi saya dari Microsoft Visual Studio 2012 Express untuk Web ke Microsoft Visual Studio 2013.
Saya telah membuat proyek Unit Tests pada tahun 2012, dan setelah dibuka pada 2013 proyek Unit Test tidak akan menunjukkan tes apa pun dalam penjelajah tes. Setiap kali saya mencoba menjalankan atau men-debug tes gagal, katakan yang berikut di jendela output:
Saya juga memperhatikan bahwa pada debugging tes, itu meluncurkan contoh Visual Studio 2012. Ini memberi saya fakta bahwa proyek Unit Tes masih merujuk pada 2012. Melihat referensi proyek uji, saya menyadari itu menargetkan Microsoft Visual yang salah. Studio Test Framework Framework DLL untuk versi Visual Studio ini:
Saya mengubah nomor versi dari 11.0 menjadi 12.0:
Saya membangun kembali semua dan ini memperbaiki masalah - semua tes ditemukan di Test Explorer dan sekarang semua tes ditemukan dan berjalan dengan sempurna.
sumber
Periksa bahwa proyek pengujian Anda tidak disetel ke Tanda tunda hanya di properti proyek Anda -> Penandatanganan. Jika ya, batalkan pilihan dan lakukan pembangunan kembali bersih.
sumber
sn -Vr *,<public key token>
sebagai adminstrator di command prompt pengembang VSSaya mengalami masalah yang sama ketika mencoba untuk membuka solusi pada berbagi jaringan di VS2013 Ultimate.
Saya memperbaiki masalah dengan menghidupkan
Control Panel -> Internet Options -> "Security" Tab -> Klik "Local intranet", klik situs-situs dan pastikan "Secara otomatis mendeteksi jaringan intranet" dicentang.
sumber
Ini semua adalah jawaban yang bagus, tetapi ada satu alasan lagi yang saya ketahui; Saya hanya berlari ke dalamnya. Dalam salah satu tes saya, saya memiliki pesan ReSharper yang menunjukkan bahwa saya memiliki kelas pribadi yang tidak digunakan. Itu adalah kelas yang akan saya gunakan dalam tes yang akan datang. Ini sebenarnya menyebabkan semua tes saya menghilang.
sumber
Periksa majelis yang direferensikan untuk setiap majelis yang mungkin memiliki "Salin Lokal" diatur ke "Salah".
Jika proyek pengujian Anda membuat folder itu sendiri (bin / Debug misalnya) dan proyek tergantung pada rakitan lain dan salah satu rakitan dalam daftar Referensi ditandai Salin Lokal = "Salah", rakitan tidak dapat memuat karena tidak adanya dependensi dan tes Anda tidak akan dimuat setelah membangun.
sumber
Sepertinya NUnit Framework 2.6.4 tidak berfungsi dengan baik dengan NUnit Test Adapter. Di situs web itu disebutkan adaptor uji hanya akan bekerja dengan NUnit Framework 2.6.3.
Ini adalah masalah saya: 1. Saya telah mengunduh NUnit dan NUnit Test Adapter secara terpisah melalui Nuget di VS2012. Entah bagaimana NUnit diperbarui ke 2.6.4 Tiba-tiba saya tidak melihat test case saya terdaftar.
Memperbaiki:
Copot adaptor Nuget dan Nuget Test
Sebuah. Pergi ke Alat> Nuget> Manajer Pkg Nuget> Kelola Nuget Pkg untuk Solusi
b. Daftar paket yang diinstal
c. Klik kelola
d. Hapus centang proyek Anda
Instal NUnit Test Adapter termasuk NUnit 2.6.3 Framework
Solusi Bersih / Bangun Kembali
Buka Tes> Tes Explorer> Jalankan Semua
Saya melihat semua test case
Semoga ini membantu
sumber
Tidak ada solusi di sini yang membantu saya. Tes tidak akan ditemukan untuk satu solusi sedangkan solusi lain yang merujuk pada proyek yang sama bekerja dengan baik. Saya akhirnya menyelesaikan ini dengan menghapus file solutionname.v12.suo.
sumber
Saya memiliki masalah yang sama, tetapi sedikit berbeda.
Saya menggunakan visual studio 2012. Untuk beberapa alasan, hanya tes dari file yang dihasilkan awal yang berjalan. Tetapi tes di file lain tidak berjalan. Mencoba berbagai solusi yang diposting di sini, tidak berhasil.
Akhirnya saya menemukan bahwa saya memiliki metode pribadi di kelas tes yang merupakan metode pertama di dalam kelas. Saya baru saja memindahkan metode pribadi setelah metode pengujian; jadi sekarang, metode dengan
[TestMethod]
atribut adalah metode pertama di dalam kelas. Aneh, tapi sekarang berhasil.Semoga ini bisa membantu seseorang suatu hari nanti.
sumber
Tes tidak suka metode async. Misalnya:
Setelah melakukan ini:
Itu melihat ujian.
sumber
[Test] public void XamarinExampleTest() { // This workaround is necessary on Xamarin, // which doesn't support async unit test methods. Task.Run(async () => { // Actual test code here. }).GetAwaiter().GetResult(); }
Menambahkan jawaban saya karena ini adalah hasil teratas di Google untuk ini.
Saya menggunakan Visual Studio 2015 dan (tanpa sadar - saya baru saja berlari
Install-Package NUnit
) menginstal paket NUnit3 NuGet ke proyek pengujian saya. Saya sudah menginstal ekstensi NUnit Test Adapter, dan tes saya masih belum muncul.Menginstal Adapter Uji NUnit3 melalui Alat> Ekstensi dan Pembaruan memperbaiki ini untuk saya.
sumber