Visual Studio 2015 atau 2017 tidak menemukan unit test

165

EDIT 2016-10-19:

Pertanyaan asli adalah tentang masalah khusus untuk VS2015 CTP6 dengan pelari uji XUnit. Jelas dari jawaban bahwa ada masalah yang lebih luas dengan penemuan tes unit di Visual Studio yang dapat terjadi dalam berbagai situasi. Saya telah membersihkan pertanyaan saya untuk mencerminkan hal itu.

Saya juga memasukkan skrip ke dalam jawaban saya sendiri yang masih saya gunakan sampai hari ini untuk menyelesaikan masalah yang sama saat muncul.

Banyak jawaban lain juga terbukti membantu dalam memahami seluk-beluk pelari tes VS dengan lebih baik. Saya menghargai bahwa orang-orang masih membagikan solusi mereka!


Pertanyaan asli 2015-04-10:

Sejak kemarin, Visual Studio Test Explorer saya tidak akan menemukan tes untuk proyek saya. Itu juga tidak menunjukkan bilah pemuatan hijau setelah bangunan.

Ketika saya pergi ke Visual Studio Test Explorer dan klik "Run All", atau ketika saya klik kanan setiap metode tes dan pilih "Run Tests", saya mendapatkan yang berikut di jendela output saya:

Could not load file or assembly 'Microsoft.VisualStudio.Web.ProjectSystem, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified.

Saya menjalankan Visual Studio 2015 CTP 6 pada Windows 10 Pro Technical Preview, membangun 10041. Versi .NET Framework tampaknya tidak masalah - itu terjadi 4.0, 4.5.2dan 4.6.

Saya mencoba dengan kerangka kerja pengujian berikut dan semuanya memberikan perilaku yang sama:

  • Microsoft.VisualStudio.QualityTools.UnitTestFramework v14.0.22609.0
  • xunit v2.1.0-beta1-build2945 dengan xunit.runner.visualstudio v2.1.0-beta1-build1051
  • NUnit v2.6.4 dengan NUnitTestAdapter v2.0.0

Saya menemukan masalah pada GitHub (xunit) yang tampaknya serupa: Tidak dapat memperoleh tes yang ditemukan # 295 , dengan komentar ini dari tim xunit:

Ketahuilah bahwa Visual Studio 2015 CTP 5 telah dilaporkan rusak oleh banyak orang dengan pengujian unit secara umum (bukan hanya xUnit.net), jadi jangan berharap itu berfungsi.

Juga, pastikan Anda sudah membersihkan cache runner Visual Studio. Jika rusak, Visual Studio akan melakukan kesalahan secara permanen sampai dihapus. Untuk menghapus cache, matikan semua instance Visual Studio, lalu hapus folder% TEMP% \ VisualStudioTestExplorerExtensions (jujur, mungkin tidak ada salahnya untuk menghapus semuanya dalam% TEMP% yang dapat dihapus).

Saya mencoba saran mereka untuk menghapus folder %TEMP%\VisualStudioTestExplorerExtensions. Sayangnya itu tidak memperbaiki masalah.

Saya memperhatikan bahwa ReSharper sebenarnya adalah mampu menemukan beberapa tes. Ini hanya berfungsi untuk tes VS dan NUnit, bukan untuk xunit.

Harus ada semacam temp atau folder cache yang perlu saya hapus, tetapi saya tahu Visual Studio memiliki banyak dari mereka dan tidak semuanya dapat dihapus tanpa efek samping yang tidak diinginkan.

Fred Kleuver
sumber
3
Saya sangat senang saya menemukan ini, mengingatkan saya mengapa saya menggunakan pelari ujian pihak ke-3 (dalam kasus saya ncrunch). Saya menyerah pada mstest dulu karena alasan yang sama. Tentu saja, itu bukan solusi jika Anda terjebak dengan mstest ...
Abel
terkait: stackoverflow.com/questions/35103781/…
Ruben Bartelink
dengan VS 2017, cukup luar biasa, pembersihan temp dan folder yang terkait dengan localappdata VS2017, solusi + tutup yang reload + bersih dan reboot Windows tidak membantu. Namun, yang mengejutkan, proyek simlpe "unload - reload" hanya pada salah satu proyek pengujian saya memang membantu penemuan tes berhenti menggantung. Saya tidak menggunakan paket tes unit pihak ke-3.
Pac0
Untuk beberapa ppl ini mungkin menarik atau lebih relevan (saya tidak berpikir saya harus menambahkannya sebagai jawaban): Tidak Ada Sumber Tersedia di Test Explorer - github.com/Microsoft/testfx/issues/274
hB0
Ini bisa menjadi perbaikan untuk seseorang stackoverflow.com/a/58019304/1566372
Rady

Jawaban:

154

Yang mengejutkan saya, membersihkan file temp yang terletak di %TEMP%direktori menyelesaikan masalah bagi saya.

Catatan: Jalur ini umumnya di C:\Users\(yourusername)\AppData\Local\Temp

Seperti yang termasuk @ Warren-P, Anda dapat menavigasi ke folder temp dengan memasukkan %temp%Start Menu, atau meluncurkan "File Explorer" dan masukkan %temp%di bilah alamat.

RobM
sumber
30
Atau Anda cukup mengetik di %TEMP%menu Start Run dan ia menemukan folder temp Anda untuk Anda tanpa menebak berapa nilai temp.
Warren P
65
@ ZéCarlos Setiap aplikasi yang menyimpan data penting dalam %TEMP%direktori layak untuk berhenti bekerja.
Mark Pattison
25
bukan hal yang memalukan bagi Anda, ini merupakan kegagalan total dari Microsoft sehingga Anda harus mengambil langkah konyol untuk menjaga 1000+ USD IDE berjalan.
MushyPeas
8
Bekerja untuk saya di VS2017 juga!
Lorentz Vedeler
6
Jika Anda khawatir tentang menghapus seluruh direktori temp, hanya menghapus sub-direktori Temp \ VisualStudioTestExplorerExtensions yang tampaknya memperbaiki masalah.
Mike Walsh
90

Bisa jadi kode Anda dikompilasi dengan x64 karena itu harus mengaktifkan Arsitektur Prosesor Default sebagai X64.

Test > Test Settings > Default Processor Architecture > X64
Dac Toan Ho
sumber
3
Ini telah menggigit saya beberapa kali. Bahkan setelah bertahun-tahun ini saya masih tidak dapat memikirkan alasan yang bagus mengapa secara default pengaturan tes tidak dipilih untuk secara otomatis cocok dengan konfigurasi build proyek saat ini. Sepertinya konfigurasi duplikat tak berguna bagi saya.
Neutrino
1
Pembaruan Windows dan / atau Pembaruan VS mengubah arsitektur default tanpa memberi tahu Anda .... aaargh
rupweb
Dan 4 tahun kemudian, ini masih bermanfaat. Terima kasih
Oscar O.
67
  • Lihat, jika NUnit Test Adapter 2/3 diinstal di VisualStudio.
    (Tools>Extensions and Updates )

  • Pastikan arsitektur prosesor yang benar dipilih:
    (Test>Test Settings>Default Processor Architecture)

MichiBack
sumber
2
Inilah yang akhirnya berhasil untuk saya. Setelah mencoba yang lainnya.
BradStell
Membuat Anda merasa seperti orang bodoh mencari-cari di folder temp dulu ketika ekstensi bahkan tidak diinstal. Terima kasih telah memposting ini.
NightOwl888
2
Periksa juga apakah Anda menggunakan ekstensi yang benar. Ada yang terpisah untuk NUnit 2.x dan NUnit 3.x.
pmbanka
1
Saat Anda menargetkan .NET Standard, Anda sebenarnya perlu menginstal paket NuGet NUnit Test Adapter alih-alih ekstensi VSIX. github.com/nunit/docs/wiki/.NET-Core-and-.NET-Standard
m93a
Cobalah untuk mendapatkan NUnit3TestAdapter dari nuget, bukan VSIX. Itu pendekatan yang lebih baik
ravella
33

EDIT 2016-10-19 (skrip PowerShell)

Masalah ini masih kembali setiap saat. Saya menulis cuplikan PowerShell kecil untuk mengotomatiskan menghapus cache / temp folder / file yang relevan untuk saya. Saya membagikannya di sini untuk pembaca masa depan:

@(
"$env:TEMP"
"$env:LOCALAPPDATA\Microsoft\UnitTest"
"$env:LOCALAPPDATA\Microsoft\VisualStudio\14.0\1033\SpecificFolderCache.xml"
"$env:LOCALAPPDATA\Microsoft\VisualStudio\14.0\1033\ProjectTemplateMRU.xml"
"$env:LOCALAPPDATA\Microsoft\VisualStudio\14.0\ComponentModelCache"
"$env:LOCALAPPDATA\Microsoft\VisualStudio\14.0\Designer\ShadowCache"
"$env:LOCALAPPDATA\Microsoft\VisualStudio\14.0\ImageLibrary\cache"
"$env:LOCALAPPDATA\Microsoft\VisualStudio Services\6.0\Cache"
"$env:LOCALAPPDATA\Microsoft\WebsiteCache"
"$env:LOCALAPPDATA\NuGet\Cache"
) |% { Remove-Item -Path $_ -Recurse -Force }

Pastikan untuk menutup Visual Studio sebelumnya dan mungkin ide yang baik untuk reboot setelahnya.

Menghapus folder TEMP mungkin tidak diperlukan dan dalam beberapa kasus bahkan mungkin tidak diinginkan, jadi saya akan merekomendasikan mencoba tanpa membersihkan folder TEMP terlebih dahulu. Abaikan saja"$env:TEMP" .

Jawaban asli 2015-04-12

Masalahnya "terpecahkan" setelah pembersihan menyeluruh folder temp / cache yang berhubungan dengan Visual Studio.

Karena saya tidak punya waktu untuk memeriksa semuanya satu per satu dan kemudian menguji di antaranya, saya sayangnya tidak tahu mana yang sebenarnya menyebabkan masalah.

Ini adalah langkah-langkah tepat yang telah saya ambil:

  1. Visual Studio Tertutup
  2. CCleaner digunakan untuk menghapus sistem dan browser temp file / folder
  3. Secara manual menghapus / menghapus file / folder berikut:

    • %USERPROFILE%\AppData\Local\assembly
    • %USERPROFILE%\AppData\Local\Microsoft\UnitTest
    • %USERPROFILE%\AppData\Local\Microsoft\VisualStudio\14.0\1033\SpecificFolderCache.xml
    • %USERPROFILE%\AppData\Local\Microsoft\VisualStudio\14.0\1033\ProjectTemplateMRU.xml
    • %USERPROFILE%\AppData\Local\Microsoft\VisualStudio\14.0\ComponentModelCache
    • %USERPROFILE%\AppData\Local\Microsoft\VisualStudio\14.0\Designer\ShadowCache
    • %USERPROFILE%\AppData\Local\Microsoft\VisualStudio\14.0\ImageLibrary\cache
    • %USERPROFILE%\AppData\Local\Microsoft\VisualStudio Services\6.0\Cache
    • %USERPROFILE%\AppData\Local\Microsoft\WebsiteCache
    • %USERPROFILE%\AppData\Local\NuGet\Cache
    • %USERPROFILE%\AppData\Local\Temp
Fred Kleuver
sumber
Terima kasih, bekerja untuk saya setelah membersihkan folder Microsoft \ VisualStudio \ 14.0 \ dan Microsoft \ VisualStudio Services \ 6.0 \ Cache yang Anda jelaskan.
Niels van Reijmersdal
Tentunya maksud Anda \Microsoft\VisualStudio\14.0\ImageLibrary\ImageLibrary.cache?
Mateen Ulhaq
2
Saya telah menghapus semuanya dari% TEMP% dan tidak berfungsi, tetapi ketika saya membaca direktori 'VisualStudioTestExplorerExtensions (kosong) semuanya bekerja dengan baik :-) (Ada jawaban dengan solusi di bagian bawah pada hari ini)
nilphilus
Saya ingin mengonfirmasi bahwa solusi ini berfungsi untuk saya dengan VS2015 Update 3 dan Resharper 10. Tetapi Anda harus memulai kembali untuk melihat keajaiban
Quoc Nguyen
1
Saya hanya menghapus satu file \ AppData \ Local \ Microsoft \ VisualStudio \ 14.0 \ 1033 \ SpecificFolderCache.xml itu hepls
Serhii Kuzmychov
21

Salah satu alasan untuk masalah ini adalah kelas tes Anda tidak terbuka untuk umum. MSTest hanya menemukan tes dari kelas publik.

AfshinS
sumber
1
Meskipun ini tidak 100% benar dan saya memiliki kelas non-publik yang berfungsi dengan baik, pada beberapa titik uji unitnya berhenti bekerja. Ketika saya mengubah kelas unit test ke publik, itu mulai bekerja lagi. Sosok pergi!
SashaArz
Ini menyelesaikannya untuk saya. Secara default, Visual Studio menambahkan kelas uji tanpa kata kunci publik, dan itu tidak akan melihatnya sampai saya membuatnya publik.
Marc Fearby
13

Dalam Visual Studio 2015 (Pembaruan 3) jika Anda ingin melampirkan tes di explorer tes maka harus menginstal NUnit Test Adapter. Unduh adaptor dari Tools-> Extension And Updates-> tab Online (Anda harus mencari adaptor ) -> Unduh . Dengan memulai ulang Visual Studio Anda dapat melihat perubahan untuk kerangka uji.

Pankti Shah
sumber
2
Mengikuti instruksi Anda, saya mencari "nunit" dan menemukan "NUnit 3 Test Adapter" yang, setelah "Unduh" (instal), menyelesaikan masalah saya. Mencari di internet untuk masalah ini menemukan artikel SO lainnya di tautan
Adam Cox
Ini lebih baik daripada manajer paket Nuget dalam beberapa skenario karena tidak mengubah file konfigurasi
GY_
1
@GY_ tetapi ketika Anda menargetkan .NET Core atau Standard, Anda benar-benar membutuhkan paket NuGet, periksa jawaban saya di bawah: stackoverflow.com/a/47460221/1137334
m93a
Kamu menyelamatkan hidupku! Terima kasih, saya mencoba banyak solusi dan tidak berhasil. Milik saya adalah adaptor uji google.
Erman
9

Saya tidak punya jawaban lengkap untuk ini, tetapi saya telah menentukan beberapa hal dengan bermain dengan proyek uji:

  1. Itu xunit.runner.aspnet : 2.0.0-aspnet-beta4 tampaknya menjadi bagian dari rilis beta4 aspnet5 resmi tidak berfungsi di Visual Studio.
  2. Sebaliknya, menggunakan "xunit": "2.1.0-*"dan "xunit-runner.dnx": "2.1.0-*"paket DO berfungsi di Visual Studio.
  3. Agar VS dapat menemukan tes, proyek Anda HARUS memiliki perintah TUNGGAL bernama "test" yang menjalankan "xunit.runner.dnx". Menambahkan perintah tambahan dapat merusaknya.
  4. Jika jendela Test Explorer Anda masih kosong, HAPUS perintah "test" dari proyek Anda, kemudian buat kembali solusinya, kemudian tambahkan perintah "test" kembali ke project.json.
  5. Mengosongkan semua cache Anda sesuai saran @ Fred-Kleuver mungkin membantu, tapi saya belum melakukan semua langkah secara terpisah, jadi saya tidak yakin.

Ini berlaku per VS 2015 CTP 6, menggunakan rilis beta4, bukan harian.

Avi Cherry
sumber
1
Oke, saya telah mengkonfirmasi (dengan meminta rekan kerja untuk mencobanya) bahwa perbaikan di atas tidak memerlukan pembersihan cache atau file temp.
Avi Cherry
Di atas mengatakan "Sebaliknya, menggunakan" xunit ":" 2.1.0- "dan" xunit-runner.dnx ":" 2.1.0- "paket DO berfungsi di Visual Studio.". Ini berhasil, terima kasih!
Gillardo
Btw, sebagai tindak lanjut, semuanya sepertinya berfungsi dengan baik sekarang di VS 2015 pada rilis saat ini. Tidak perlu repot untuk mendapatkan tes baru untuk muncul atau apa pun.
Avi Cherry
1
Akhirnya, sekarang ada panduan yang tepat dari MS tentang versi xunit yang tepat untuk digunakan dengan versi DNX mana, di sini: xunit.github.io/docs/getting-started-dnx.html
Avi Cherry
9

Saya memiliki contoh di mana beberapa tes tidak akan diambil karena saya telah membuatnya asyncseperti berikut:

public async void This_IsMy_UnitTest()

Masalahnya adalah saya lupa membuat mereka kembali Taskdan tidakvoid ketika saya melakukan peralihan. Orang akan berpikir ini akan menyebabkan kesalahan atau tes gagal tetapi tidak. Tes unit di kelas itu sepenuhnya diabaikan dan bertindak seolah-olah tidak ada.

Itu tidak setelah sekitar 3 bersih dan membangun + restart VS.NETbahwa saya melihat tes berjalan dan gagal menunjukkan saya lupa menambahkan Tasktipe kembali:

public async Task This_IsMy_UnitTest()

Setelah pembaruan, unit test ditemukan dan berfungsi dengan benar. Ini mungkin kasus tepi, tetapi memiliki asynctes untuk digunakan di awaitdalam tetapi tidak memiliki tanda tangan yang benar dapat menyebabkan masalah yang sama dan ini bukan kali pertama saya melakukan ini.

atconway
sumber
Memecahkan masalah bagi saya!
Aimal Khan
8

Pergi ke pengelola paket Nuget dan unduh Nunit Adapter sebagai berikut.

masukkan deskripsi gambar di sini

Debendra Dash
sumber
Terima kasih, dalam kasus saya, saya menggunakan NUnitTestAdapter, bukan NUnit3TestAdapter. Itu memecahkan masalah saya.
pixel
Menambahkan paket nuget NUnit3TestAdapter ke solusi atau ke proyek tidak akan memperbaiki masalah untuk semua solusi lain secara umum, tetapi hanya untuk mereka yang telah ditambahkan. Untuk melakukannya secara umum untuk semua solusi / proyek, tambahkan ekstensi NUnit 3 Test Adapter ke studio visual Anda seperti dijelaskan di stackoverflow.com/a/45748818/1300390
Umar T.
6

Saya memiliki masalah yang sama tetapi folder "% TEMP% \ VisualStudioTestExplorerExtensions" tidak ada pada mesin saya sehingga ketika saya membaca posting saya punya ide untuk membuatnya dan berfungsi. Penjelajah uji sekarang dapat menunjukkan semua tes saya. Terima kasih.

Vinci
sumber
6

Cukup restart Visual Studio dan di Test Explorer lakukan "Run All" ... Semua pengujian saya ditemukan.

lukyer
sumber
1
Saya perhatikan juga hanya menutup Test Explorer dan membukanya kembali dan memilih Run All works juga. Saya belum yakin apakah itu selalu berhasil tetapi kali ini berhasil.
Kaya
5

Dalam kasus saya (Visual Studio Enterprise 2015 14.0.25425.01 Pembaruan 3, Resharper 2016.2) Saya hanya perlu melakukan solusi bersih dari menu Build. Membangun kembali solusi kemudian menyebabkan explorer tes untuk "bangun" dan menemukan semua tes lagi.

sammy34
sumber
5

Solusi dalam kasus saya adalah hanya menginstal ekstensi NUnit 3 Test Adapter ke Visual Studio 2015 saya.

'Ekstensi dan Pembaruan' ada di bawah meue 'Alat'

Umar T.
sumber
Bagaimana jawaban Anda menambah nilai pada pertanyaan? Sudahkah Anda membacanya? Sudah ada dua jawaban yang merekomendasikan solusi yang sama persis: stackoverflow.com/a/41364951/6305294 , stackoverflow.com/a/35043380/6305294
Alex
2
Yah, saya membaca yang pertama (yaitu stackoverflow.com/a/41364951/6305294) tapi itu berbeda dengan jawaban saya karena itu menyarankan untuk menambahkan paket nuget Adapter NUnit ke solusi atau proyek, yang tidak akan memperbaiki masalah untuk semua solusi lain secara umum. Sehubungan dengan yang kedua, saya harus mengakui bahwa saya tidak melihatnya. Mungkin menambahkan tangkapan layar membantu mata menangkapnya ketika ada dua banyak jawaban yang hadir untuk sebuah pertanyaan
Umar T.
4

Dalam kasus saya, masalahnya adalah "antara kursi dan keyboard". Saya telah beralih ke konfigurasi di Configuration Manager yang tidak menyertakan proyek pengujian unit saya yang sedang dibangun. Beralih kembali ke konfigurasi (mis. Debug) yang mencakup semua proyek menyelesaikan masalah.

AndyZez
sumber
4

Dalam kasus saya, MSTest di bawah VS 2015 mengabaikan tes dengan nama tes (yaitu metode) yang lebih panjang dari 174 karakter. Memperpendek nama memungkinkan tes terlihat. Ini ditentukan melalui tebak-dan-periksa dengan memanipulasi nama tes.

Kenneth K.
sumber
4

Ini mungkin tidak akan membantu kebanyakan orang, tetapi seseorang yang tidak berpengalaman di unit testing telah menulis metode pengujian yang mengembalikan boolalih-alih void:

[TestMethod]
public bool TestSomething()

Mengubah tipe pengembalian untuk voidmemperbaiki masalah.

Sam
sumber
Masih menarik untuk mengetahui bahwa mengembalikan tipe mencegah penemuan tes, saya tidak tahu itu.
Fred Kleuver
3

Pastikan Anda memilikinya xunit.runner.visualstudio paket dalam paket proyek pengujian Anda. Config dan juga yang dipulihkan dengan benar.

Saya tahu ini bukan kasus dari pertanyaan awal tetapi bisa menghemat waktu untuk orang seperti saya.

pvasek
sumber
3

Saya hanya ingin menambahkan bahwa saya menemukan solusi yang sama sekali berbeda dengan yang di atas.

Saya telah menyatakan kelas tes saya sebagai berikut:

[TestClass]
class ClassificationTests
{
   //unit tests
}

Segera setelah saya menambahkan publicpengubah ke kelas, itu berfungsi seperti yang diharapkan!

Kegigihan
sumber
2

Jika Anda menargetkan .NET Standard atau .NET Core, Anda perlu menggunakan paket NuGet untuk NUnit Test Adapter dan bukan ekstensi .

Disarankan untuk menginstal adaptor dari NuGet jika Anda menguji proyek .NET Core atau .NET Standard. Adaptor VSIX tidak, dan tidak akan, mendukung .NET Core karena paket VSIX tidak dapat menargetkan beberapa platform.

Sumber: NUnit GitHub Wiki

.

Periksa juga FAQ di sana:

Tes saya tidak muncul di Visual Studio 2017?

  • Apakah Anda menggunakan paket NuGet?
  • Apakah Anda menggunakan versi 3.8.0 atau yang lebih baru dari paket NuGet?
  • Apakah tes Anda menargetkan .NET Core atau .NET Framework? (Lihat di atas)
  • Sudahkah Anda menambahkan Referensi Paket ke Microsoft.NET.Test.Sdk?
  • Sudahkah Anda me-restart Visual Studio? Itu masih agak tempermental.

Sumber: NUnit GitHub Wiki

m93a
sumber
1

Saya memiliki masalah yang sama. Saya hanya membersihkan dan membangun kembali proyek dan saya dapat melihat tes yang hilang.

Eric
sumber
1

Muncul untuk membagikan solusi saya. Saya menggunakan Windows 10, Visual Studio 2015, NUnit 3.5, NUnit Test Adapter 3.6 (melalui NuGet, bukan ekstensi VISX) dan tidak ada tes saya yang ditemukan. Masalah saya adalah bahwa dalam proyek Tes solusi saya, entah bagaimana jalan pintas ke folder "Dokumen" saya telah dibuat dalam folder proyek. Saya menduga adaptor tes melihat jalan pintas dan menutup telepon mencoba mencari tahu apa yang harus dilakukan dengan itu, mengakibatkan kegagalan untuk menampilkan tes unit.

Thomas Parikka
sumber
1

Menghapus file \ AppData \ Local \ Microsoft \ VisualStudio \ 14.0 \ 1033 \ SpecificFold‌ erCache.xml memecahkan masalah untuk saya.

der_chirurg
sumber
1

Topik ini agak ketinggalan jaman, tetapi solusi saya untuk status Tes yang hilang di VS2015:

Status tugas hanya muncul pada konfigurasi build Debug. Ofcourse ini juga membuat tidak mungkin untuk men-debug pengujian Anda melalui test-explorer.

pehur
sumber
1

Saya juga digigit oleh fitur kecil yang indah ini dan tidak ada yang dijelaskan di sini yang bekerja untuk saya. Tidak sampai saya memeriksa ulang output build dan memperhatikan bahwa proyek yang bersangkutan tidak sedang dibangun. Kunjungan ke manajer konfigurasi mengkonfirmasi kecurigaan saya.

Visual Studio 2015 dengan senang hati mengizinkan saya untuk menambahkan proyek baru tetapi memutuskan bahwa itu tidak layak untuk membangunnya. Setelah saya menambahkan proyek ke build itu mulai bermain dengan baik.

Robbie Dee
sumber
1

Saya mengatasinya dengan mengubah X64 ke: Klik kanan pada proyek -> Properties -> Build -> Target platform -> Any CPU

Pouyan Sepahvand
sumber
1

Entah bagaimana proyek saya diatur untuk dikompilasi sebagai Perpustakaan Statis (.lib) . Setelah mengubah ini menjadi Dynamic Library (.dll) , tes di mana ditemukan dengan benar oleh Visual Studio 2012.

My Unit Test Project ->
Properties ->
Configuration Properties ->
General ->
Configuration Type
Maate
sumber
1

Sangat mudah bagi saya untuk memperbaiki masalah ini sebagai:

  • Pilih Proyek Uji Unit Anda
  • Klik tombol 'Tampilkan Semua File' di Solution Explorer dan file sementara baru muncul di pohon file dari Solution Explorer dalam 'obj \ x86 \ Debug'.
  • Hapus file sementara ini dan bangun kembali proyek.
  • Coba lagi untuk menjalankan tes dan berhasil !.
mggSoft
sumber
1

Kami memiliki masalah yang sama. Kami memiliki solusi VS 2015 besar dengan banyak proyek C # di dalamnya dan bahkan lebih banyak proyek uji.

Penemuan tes Resharper bekerja dengan baik, tetapi VS Test Explorer gagal total.

Ternyata proyek-proyek itu tidak memiliki versi MsTest TestFramework dan TestAdapter yang sama, dan kadang-kadang mereka menggunakan NuGets dan referensi lama yang bagus, dan itu tampaknya tidak didukung (terlalu banyak untuk IDE yang mahal).

Menghapus semua referensi Microsoft.VisualStudio.Test * dan kemudian menambahkan / memperbarui dua MSTest NuGets memperbaiki masalah.

TommyD
sumber
1

Saya memecahkan masalah ini dengan menyadari bahwa Kerangka Target untuk proyek pengujian saya berbeda dari proyek yang sedang diuji. Ya, saya menyebabkan masalah ini dengan mengubah kerangka target dari default (Proyek> Properti> Aplikasi), tetapi gagal untuk ini untuk proyek uji, yang dibuat beberapa minggu kemudian. Ketidakcocokan tidak menyebabkan kesalahan kompiler, tapi itu menghasilkan peringatan di jendela Daftar Kesalahan . Setelah saya memilih opsi untuk menampilkan peringatan, solusinya jelas.

JerryM
sumber