Mengapa visual studio 2012 tidak menemukan tes saya?

221

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).

ctrl-alt-delor
sumber
Versi VS 2012 yang mana? Anda dapat mengunduh pelari uji seperti TestDriven.Net atau ada satu di Resharper.
Brett Allred
Saya menggunakan visual studio 2012 ultimate.
ctrl-alt-delor
Silakan bagikan versi kerangka kerja dan versi pustaka UnitTesting yang telah Anda tambahkan sebagai referensi
Adil
5
Dalam kasus saya menghapus file app.config memperbaiki unit test explorer
Chris Richner
4
Coba cari kesalahan di bawah kategori 'Tes' di jendela output. Saya membuat tes fungsional dari rilis build dan ketika saya mencoba untuk debug menggunakan debug build (yang dllnya terletak di struktur folder yang berbeda), saya tidak mendapatkan kesalahan build tetapi harus melihat di bawah tes dari menu pull down. Setelah saya menyelesaikannya, tes mulai muncul di Test Explorer
gDexter42

Jawaban:

227

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 objdan bindirektori dan melakukan membangun kembali.

Ourjamie
sumber
Meskipun melakukan pembersihan terkadang membantu, itu bukanlah masalah. Saya punya masalah dengan proyek pada drive jaringan. Dan fakta bahwa build pernah membantu hanyalah sebuah gejala dari alat build buggy.
ctrl-alt-delor
7
Wow! "Solusi Bersih" tampaknya benar-benar berfungsi (bukan hanya membangun kembali semua). Saya pikir ini berhenti menjadi hack yang berguna di Visual Studio 6.0!
Dave
"Bersih" tidak berfungsi untuk rekan kerja saya yang memiliki masalah ini. Ini bekerja untuknya setelah menghapus semua kode sumber dari ruang kerja TFS-nya, dan mendapatkan yang terbaru (ditimpa). Kemudian itu berhasil!
Michael R
2
Ini untuk saya. Dalam solusi dengan campuran x86, CPU apa pun, x64, satu tes proyek tertentu tidak ditemukan. Saya membersihkan solusinya, mengubah arsitektur default pengaturan tes, dan membangun kembali dan kemudian semuanya bisa dilihat. Ini benar-benar tidak masuk akal, karena mengubah arsitektur ditemukan tes yang disusun di bawah arsitektur CPU yang berbeda.
Ben H
2
Tepat ketika saya mengubah prosesor default - semua tes saya menunjukkan. Terima kasih banyak untuk ini!
Dan But
160

Silakan tambahkan kata kunci publik ke definisi kelas Anda. Kelas tes Anda saat ini tidak terlihat di luar rakitannya sendiri.

namespace tests {
    [TestClass]
    public class SimpleTest {
        [TestMethod]
        public void Test() {
            Assert.AreEqual("a","a", "same");
        }
    }
}
Joe King
sumber
24
Melakukannya untuk saya, hampir memalukan saya tidak mengetahuinya sendiri :)
landi
5
Saya punya masalah ini juga, milik saya disebabkan oleh [TestMethod]statis karena copy-paste kode lain.
Seph
2
@Seph: My [TestMethod]di mana statis karena itulah yang ada UserTest1.csdi proyek pengujian baru! Juga memecahkan masalah saya.
Andre Luus
4
Juga jangan taruh staticdi depan metode Anda. Saya tidak tahu mengapa saya sering melakukannya karena kebiasaan.
levininja
1
Ini berhasil bagi saya, menarik bagaimana Anda dapat kehilangan begitu banyak waktu pada sesuatu yang seharusnya begitu jelas. Terima kasih atas jawabannya Joe King
Thulani Chivandikwa
58

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.

Peter Lamberg
sumber
Ya ini mungkin alasan lain bahwa itu tidak akan berhasil, tetapi lihat jawaban yang tertera di bawah mengapa itu tidak berhasil untuk saya. (folder bersama dinonaktifkan secara default), jika Anda dapat memberi tahu kami cara mengubahnya, saya akan memberi Anda beberapa poin.
ctrl-alt-delor
Tidak ada prosesor seperti x64, tapi saya kira microsoft menggunakan istilah ini untuk x86-64 / amd64 / x86e. Juga tidak ada x86, hanya keluarga x86. X adalah singkatan dari yang tidak diketahui, sehingga anggota keluarga x64 adalah 164, 264, 364 ... ATAU adalah x86 prosesor 86 bit.
ctrl-alt-delor
terima kasih atas jawaban Anda, ini membantu saya (saya beralih dari build x86 ke build x64)
enguerran
Bahkan di VS 2015 memiliki jendela Uji Explorer terbuka berfungsi. Senang bahwa saya juga dapat menjalankan tes dari baris perintah.
Bryan
32

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!

dnnyz
sumber
1
Juga tersedia melalui NuGetInstall-Package NUnitTestAdapter
Darren Hale
Terima kasih @ DarrenHale. Saat mencari paket ini di NuGet, saya juga menemukan bundel yang disebut NUnit TestAdapter termasuk NUnit 2.6.4 Framework .
ray
18

Dalam pengalaman saya baru-baru ini semua hal di atas tidak berhasil. Metode pengujian saya

public async void ListCaseReplace() { ... }

tidak muncul tetapi kompilasi dengan baik. Ketika saya menghapus asynckata kunci tes yang muncul di Test Explorer. Ini adalah bacause async voidadalah metode 'api-dan-lupakan'. Buat metode async Taskdan 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.

Ksatria bulan
sumber
2
Butuh waktu lama bagi saya untuk memikirkan hal ini. Saya refactored beberapa metode menjadi async dan baru saja menambahkan kata kunci ke tes. Hanya ketika saya membuat kode unit test baru dengan ini saya perhatikan bahwa tes lain juga hilang. Saya menemukan jawaban ini yang menjelaskan mengapa ini terjadi.
julealgon
12

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):

 caspol -m -ag 1.2 -url file:///H:/* FullTrust

Untuk memverifikasi atau daftar lokasi tepercaya yang ada jalankan:

 caspol -lg
Taras Alenin
sumber
Jawaban ini tidak diverifikasi oleh penanya, karena saya tidak lagi tertarik dengan jawabannya. Jika berhasil untuk Anda (atau tidak), tambahkan komentar di bawah ini.
ctrl-alt-delor
6
@richard Jadi Anda menerima jawaban yang tidak Anda verifikasi dan unduh suara jawaban lain yang menjelaskan solusi untuk berbagai penyebab masalah Anda? ....Itu aneh!
Stephan Bauer
1
Ini ternyata menjadi masalah bagi saya, tetapi bukan solusi. Saya memindahkan semuanya secara lokal dan semua tes ditemukan! Terima kasih!
Travis Swientek
1
CasPol.exedapat 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.aspx
EpicVoyage
Ini juga masalah bagi saya. Sangat menjengkelkan bahwa VS tidak mengambilnya tetapi tidak memberikan indikasi penyebabnya!
kaybee99
10

Masalah 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

tim
sumber
6

Saya memiliki masalah yang sama .. Dalam kasus saya itu disebabkan oleh properti pribadi TestContext .

Mengubahnya menjadi yang berikut membantu:

public TestContext TestContext
{
    get;
    set;
}

Setelah membersihkan dan membangun solusi (seperti yang dijelaskan dalam jawaban @Ourjamie), metode pengujian di kelas uji yang terpengaruh tersedia di Test Explorer.

Stephan Bauer
sumber
OK gejala yang sama, jadi akan menghapus suara, jika Anda menjelaskan apa yang Anda ubah (dari apa).
ctrl-alt-delor
1
Saya memiliki persis sama, saya mengikuti utas lengkap, kemudian datang ke yang ini dan membawa saya ke ide untuk mempublikasikannya, bingo: tes baru saya muncul. Saya mengerti komentar sebelumnya, tetapi ... karena yang ini membawa kami dari Google ... ini adalah utas untuk dibaca ketika tes tidak muncul.
edelwater
1
Ini adalah penyebab masalah saya. Saya memiliki bidang untuk antarmuka ketergantungan sebagai bidang pribadi. Anda adalah penyelamat hidup!
Alex
6

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.

dracocephalum
sumber
6

Daftar periksa cepat untuk menyelesaikan beberapa masalah tes umum. Pastikan bahwa:

  1. Kelas uji dan metode uji adalah public
  2. Kelas tes memiliki [TestClass]atribut
  3. Metode pengujian memiliki [TestMethod]atribut

Jika ini tidak membantu, cobalah membersihkan, membangun kembali solusi dan memulai kembali Visual Studio.

Pembuat Perangkat Lunak
sumber
Ini akan memperbaiki masalah sebagian besar pengunjung untuk pertanyaan ini, dan merangkum sebagian besar jawaban, namun itu tidak mencakup masalah dalam pertanyaan.
ctrl-alt-delor
1
Terima kasih. UTA001: TestClass attribute defined on non-public class
Jarek Przygódzki
6

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.

Edward Olamisan
sumber
3
Bekerja untuk saya juga! Saya pikir ini masalah tersendiri.
Justin Morgan
2
Hei pria ini bekerja. Terima kasih banyak .. Ada solusi untuk membuatnya berfungsi tanpa berjalan sebagai administrator?
Sriram Sakthivel
2
Maaf saya tidak berpikir bahwa menjalankan sebagai admin adalah solusi yang baik. Kecuali bukti bahwa ini adalah satu-satunya cara.
ctrl-alt-delor
Berjalan sebagai admin biasanya bukan masalah besar. Tapi salah satu masalahnya adalah Anda tidak bisa mengirim Workitem ke prospek.
Edward Olamisan
Mengedit jawaban Anda untuk menautkan ke pos SO terkait, harap Anda tidak keberatan. Saya setuju dengan Sriram dan richard. Meskipun ini berhasil, ini adalah solusi, bukan solusi. Mengapa itu bekerja sama sekali tampaknya tidak jelas.
Steven Jeuris
4

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.

CSharp
sumber
Saya kira ini bukan masalah yang sama.
ctrl-alt-delor
3
Saya pikir itu IS masalah yang sama, hanya saja disebabkan oleh sesuatu yang lain.
Stephan Bauer
2

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.

Adil
sumber
Saya mencobanya, keduanya bekerja dengan nunit. Tapi kali ini saya mencoba menjalankan tes orang lain menggunakan tertulis Microsoft.VisualStudio.TestTools.UnitTesting, tahu apa lagi yang saya lakukan salah?
ctrl-alt-delor
Tidak ada bedanya ... Kadang-kadang tidak menemukan tes unit ... jadi jika Anda membuka tes explorer dan membangun solusi, itu akan memunculkan unit test dalam beberapa saat ... Mungkin Anda sudah tahu itu. ..
Adil
2
Saya hanya ingin memastikan Anda menggunakan versi ekspres atau yang tidak menyertakan alat uji. Sudahkah Anda mencoba menginstal pelari uji pihak ketiga?
Brett Allred
2

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.

Todd Carter
sumber
dalam kasus saya app.config juga mematikan tampilan unit test. Setelah menghapus app.config dan membangun kembali proyek uji, mereka akhirnya kembali!
Chris Richner
2

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/dependencyIdentitypengalihan residu di app.config saya. Saya harus memperbaikinya. Saya mengetahuinya dengan melihat ke Outputjendela dan memilih " Tests" di drop down. Pesan kesalahan ada di sana. Ini menyakitkan ... Saya harap ini membantu orang lain.

Nestor
sumber
2

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.

Jake_Howard
sumber
2

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

mortey
sumber
2

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.

Shiran Jayawardena
sumber
@ Srebella Bagus Anda telah mengatasi masalah ini. Saya menghabiskan waktu berhari-hari untuk menyelesaikan ini. Tolong bagikan pengalaman Anda dengan komunitas. Harap letakkan jawaban ini di atas jika Anda yakin itu berhasil. Terima kasih :-)
Shiran Jayawardena
1

Saya telah memperbarui VS 2012 ke Pembaruan Terbaru. yaitu pembaruan visual studio 3. Itu memperbaiki masalah bagi saya.

sam
sumber
1

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.

Zack Weiner
sumber
1

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:

    Failed to initialize client proxy: 
    could not connect to vstest.discoveryengine.x86.exe

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:

C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\PublicAssemblies\Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll

Saya mengubah nomor versi dari 11.0 menjadi 12.0:

C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\PublicAssemblies\Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll

Saya membangun kembali semua dan ini memperbaiki masalah - semua tes ditemukan di Test Explorer dan sekarang semua tes ditemukan dan berjalan dengan sempurna.

ladygargar
sumber
1

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.

Jan Dolejsi
sumber
atau lewati saja tanda tangan di mesin lokal Anda dengan sn -Vr *,<public key token>sebagai adminstrator di command prompt pengembang VS
Silas
1

Saya 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.

huddy72
sumber
1

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.

Mike Perrenoud
sumber
1

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.

Joshua Starner
sumber
1

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:

  1. 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

  2. Instal NUnit Test Adapter termasuk NUnit 2.6.3 Framework

  3. Solusi Bersih / Bangun Kembali

  4. Buka Tes> Tes Explorer> Jalankan Semua

Saya melihat semua test case

Semoga ini membantu

pengguna2831855
sumber
1

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.

Craig Fisher
sumber
1

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.

mshsayem
sumber
1

Tes tidak suka metode async. Misalnya:

    [TestMethod]
    public async void TestMethod1()
    {
        TestLib oLib = new TestLib();
        var bTest = await oLib.Authenticate();

    }

Setelah melakukan ini:

    [TestMethod]
    public void TestAuth()
    {
        TestMethod1();
    }

    public async void TestMethod1()
    {
        TestLib oLib = new TestLib();
        var bTest = await oLib.Authenticate();

    }

Itu melihat ujian.

DaBlue
sumber
Jawaban yang lebih baik adalah[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(); }
Robert Green MBA
3
"Tes tidak suka async metode" adalah palsu . "Tes tidak suka metode async void " adalah benar , dan solusinya adalah dengan mendeklarasikan metode uji sebagai tugas async .
Massimiliano Kraus
1

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.

simonlchilds
sumber