Di mana pilihan "Buat Tes Unit"?

154

Saya telah menginstal Visual Studio 2012 Ultimate baru.

Saya telah membuat Proyek Uji dengan solusi saya dan berisi beberapa tes unit standar. Namun mengklik kanan pada Metode baru tidak lagi menampilkan menu konteks "Buat Unit Tes".

Lihat Visual Studio 2010 Ultimate: masukkan deskripsi gambar di sini

Dan Visual Studio 2012 Ultimate: masukkan deskripsi gambar di sini

Adakah yang tahu mengapa itu bisa terjadi?

MEMPERBARUI:

Solusi untuk Visual Studio 2012 dan 2013:

Microsoft telah mengakui di sini dan menawarkan pekerjaan resmi di sekitar tambalan untuk memperbaikinya. Unduh, instal, dan Nikmati!

Houman
sumber
apakah ini proyek yang sama atau membangun MVC?
Daniel A. White
Ini adalah proyek MVC 4 baru yang dibangun dari awal.
Houman
Menarik. Apa yang terjadi ketika Anda mengklik "Jalankan Tes Unit"?
Diego
2
saya akan melaporkan ini sebagai bug.
Daniel A. White
4
VS 11 memang banyak bergerak ke arah dari menyediakan infrastruktur pengujian melalui MSTest ke menyediakan kerangka uji pluggable. Ini bisa menjadi dampak dari keputusan itu. Either way saya akan mengajukan bug
JaredPar

Jawaban:

86

Fitur ini dipotong dari VS.

http://blogs.msdn.com/b/visualstudioalm/archive/2012/03/08/what-s-new-in-visual-studio-11-beta-unit-testing.aspx

Hasilkan Unit Test Wizard - Dalam VS2010 Anda dapat mengklik kanan pada metode dalam kode Anda dan kami akan menghasilkan tes unit ke dalam proyek pengujian Anda. Wizard ini sangat erat digabungkan ke MS-Test dan tergantung pada fitur seperti Private Accessors untuk melakukan tugasnya, sehingga dipotong. Kami sedang mencari alternatif di sini, tetapi belum memiliki solusi yang baik.

EDIT Ada pekerjaan sekitar: http://blogs.msdn.com/b/malaysia/archive/2013/02/20/right-click-create-unit-tests.aspx

Daniel A. White
sumber
16
Semoga mereka datang dengan solusi yang berhasil. Tampaknya seperti langkah mundur yang besar
Andrew Harry
3
Sepertinya opsi ketiga dalam penyelesaian itu tidak tersedia lagi di VS2013.
Sander
Fungsionalitas akan datang kembali VS2015 blogs.msdn.com/b/visualstudioalm/archive/2015/03/06/... berkat orang-orang yang memilih untuk itu di visualstudio.uservoice.com/forums/121579-visual-studio/... . @furier: Mungkin Anda memilihnya?
LosManos
Maksudku, itu ada di sana 5 menit yang lalu ... tidak ada di sana sekarang - mengapa itu datang dan pergi?
BrainSlugs83
33

Ekstensi " Unit Test Generator " tersedia

Ekstensi Generator Uji Unit

Untuk menambahkan langsung dari Visual Studio 2012/2013 IDE:

  1. Menu: Alat -> Ekstensi dan Pembaruan
  2. Klik: Online -> Galeri Visual Studio
  3. Cari: "Unit Test Generator"

Peragaan Video MSDN

Catatan: MSTest di VS 2012/2013 masih payah

JohnB
sumber
28

Item menu masih ada, tetapi untuk alasan yang tidak diketahui itu tidak terlihat di editor kode. Tetapi Anda dapat menggunakan perintah studio visual untuk menjalankan unit test wizard. Perintah yang Anda butuhkan adalah

EditorContextMenus.CodeWindow.CreateUnitTests

Buka Command Window dan ketik perintah di sana. Atau ketikkan perintah alias sebagai berikut

alias ut EditorContextMenus.CodeWindow.CreateUnitTests

dan tetapkan alias untuk menjalankan perintah lebih cepat.

Cara lain untuk menjalankan wizard adalah pintasan keyboard. Di Visual Studio terbuka

Tools -> Options -> Environment -> Keyboard

Ketik "createunit" di "Tampilkan perintah yang berisi" kotak teks untuk memfilter perintah CreateUnitTests, pilih. Pilih "Editor Teks" di "Gunakan pintasan baru di" kombo, dan tekan pintasan yang Anda inginkan di bidang teks "Tekan tombol pintas" (mis., Ctrl + T, Ctrl + C). Terakhir, tekan tombol Tetapkan. Nikmati!

intrueder
sumber
7
Saya tidak bisa melakukan ini. Saya menetapkan kursor pada metode. Tekan kode pendek yang saya tambahkan tetapi dapatkan pesan: Perintah "EditorContextMenus.CodeWindow.CreateUnitTests" tidak tersedia.
Ralph Jansen
Saya sudah mencoba Visual Studio 2012 Ultimate dengan pembaruan diinstal, mungkin itu penting.
intrueder
1
Saya mendapatkan kesalahan yang sama dengan LockTar ketika saya mencoba ini. Jadi cara termudah untuk menggunakan unit test adalah membuat projekt unit test baru.
saadan
Saya tidak dapat menjelaskan mengapa Anda mendapatkan kesalahan, tetapi saya telah mengambil video bukti dan Anda dapat menontonnya di grabilla.com/02c0a-6f42a829-1535-4016-a7ff-cbbda665bee5.html
intrueder
Jika penyihir tidak tersedia, Lihat blog dl.my/2013/create-unit-tests-function-not-available-or-disabled atau jawaban saya di bawah stackoverflow.com/a/15184716/52277
Michael Freidgeim
19

Berikut ini cara mengaktifkannya lagi:

Metode 1 - Jendela Perintah

Jika Anda merasa cukup sulit, Anda akan menemukan bahwa perintah untuk memunculkan Tes Unit Buat ... sebenarnya:

EditorContextMenus.CodeWindow.CreateUnitTests

Anda benar-benar dapat mengetik itu di Jendela Perintah untuk memunculkan Wisaya Tes Unit. Jika ternyata terlalu verbose, Anda sebenarnya bisa membuat alias untuk itu.

alias ut EditorContextMenus.CodeWindow.CreateUnitTests

Kemudian ketikkan ut untuk meluncurkan wizard.

Metode 2 - Pintasan Keyboard

Metode selanjutnya adalah pergi ke Tools-> Options-> Environment-> Keyboard dan mengatur tombol pintas preferensi Anda.

Metode 3 - Aktifkan kembali Menu Buat Tes ... Unit.

Untuk mengaktifkan kembali menu Create Unit Tests ..., buka Tools-> Customize ... untuk meluncurkan dialog Customize. Pada dialog Kustomisasi, buka tab Perintah, pilih tombol radio menu Konteks dan pilih Menu Editor Konteks Jendela Kode.

Anda akan menyadari bahwa item menu sebenarnya tersedia di menu konteks. Pengembang VS cukup baik untuk meninggalkannya di sana untuk kita.

Klik item menu Create Unit Tests ... dan klik Move Down hingga berada di / di bawah perintah "Run tes ..". Kemudian klik Tutup.

Mulai ulang Visual Studio 2012 dan hanya itu! Menu konteks akan tersedia!

Anda mungkin menemukan bahwa menggunakan salah satu metode di atas mungkin tidak berfungsi. yaitu Jendela Perintah akan memberi tahu Anda bahwa perintah tidak tersedia, pintasan keyboard tidak akan menyala atau menu Konteks akan tersedia tetapi dinonaktifkan.

Agar semua ini berfungsi, Anda harus terlebih dahulu memiliki Proyek Uji Unit dalam solusi Anda. Setelah membuat Proyek Uji Unit, Anda perlu menambahkan item Uji Unit secara manual ke proyek meskipun proyek itu terbuka dengan sendirinya. Setelah Anda melakukan ini, semuanya akan berfungsi seperti di Visual Studio 2010. Anda dapat menghapus file UnitTest1.cs dengan aman.

Sumber (dengan gambar, saya tidak punya cukup Poin Rep untuk menempatkan mereka):
http://serena-yeoh.blogspot.fr/2013/02/visual-studio-2012-create-unit-test.html

(ps: baca Peringatan !!!!)

Sebastien H.
sumber
Perhatikan, VS 2012 Buat Unit Tes Wisaya mendukung pengujian generasi hanya untuk metode publik, ketika dalam versi sebelumnya metode pribadi juga didukung.
Michael Freidgeim
3
Itu telah banyak membantu saya, terima kasih banyak. Saya melewatkan langkah menambahkan unit tes boneka dalam pengobatan saya.
Tanveer Badar
1
Secara manual membuat satu unit tes penting. Konyol tidak yakin mengapa item menu dinonaktifkan sampai saat itu.
indolentdeveloper
Menemukan hal yang sama di sini juga .. dawalaw.com/2013/enable-create-unit-tests-on-visual-studio-2012
Sunny Tambi
9

The jawaban dari intrueder tidak bekerja bagi banyak pengguna. Ketika saya memasukkan UT di jendela perintah, saya terkadang memiliki yang berikut ini

>UT
Command "EditorContextMenus.CodeWindow.CreateUnitTests" is not available.

Tetapi kadang-kadang itu berhasil untuk solusi yang sama, sehingga perilaku tampaknya terputus-putus.

Dengan bantuan posting Hukum Dawa " Buat Unit Tes ... Fungsi Tidak Tersedia Atau Dinonaktifkan " Saya menemukan bahwa selama setiap sesi Visual Studio Anda perlu membuat satu kelas tes secara manual sebelum wizard akan tersedia.

Jika Anda memiliki proyek Unit Test yang ada dalam solusinya,

Di Solution Explorer, klik kanan proyek Uji Unit -> Tambah -> Uji Unit ... Ini akan membuat kelas uji unit baru dan memicu Visual Studio bahwa kelas Uji Unit yang ada tersedia, sehingga memungkinkan panduan Membuat Tes Unit. Catatan: Anda dapat menghapus file kelas Tes Unit (UnitTestX.cs) yang dibuat saat digunakan untuk memicu fungsi.

Jika Anda tidak memiliki proyek Unit Test yang ada dalam solusi, Anda harus membuatnya sebelum menambahkan kelas manual:

Buka File -> Tambah -> Proyek Baru ... Pada jendela Tambah Proyek Baru, pilih Diinstal -> Visual C # -> Uji -> Proyek Uji Unit. Beri nama yang bermakna dan klik OK

The Dawa Hukum 's post ‘ Buat Unit Pengujian ...’ Fungsi Tidak Tersedia Atau Dinonaktifkan memiliki snapshot untuk menggambarkan setiap langkah.

Perhatikan, VS 2012 Buat Unit Tes Wisaya mendukung pengujian generasi hanya untuk metode publik , ketika dalam versi sebelumnya metode pribadi juga didukung.

.

Michael Freidgeim
sumber
"Anda perlu membuat satu kelas tes secara manual sebelum wizard akan tersedia" - yang akhirnya berhasil pada saya
Jorj
Terima kasih saya menggunakan blog Dawa Law dan akhirnya selesai :)
Ahmed Elbatt
4

Anda dapat memperoleh kembali klik kanan "Buat Unit Tes ..." dengan mengimpor vssettings berikut dari sini .

Hukum Dawa
sumber
3

http://blogs.msdn.com/b/malaysia/archive/2013/02/20/right-click-create-unit-tests.aspx

Metode 3 - Aktifkan kembali Menu Buat Tes ... Unit.

Sejauh ini, ini adalah metode terbaik. Untuk mengaktifkan kembali menu Create Unit Tests ..., buka Tools-> Customize ... untuk meluncurkan dialog Customize. Pada dialog Kustomisasi, buka tab Perintah, pilih tombol radio menu Konteks dan pilih Menu Editor Konteks Jendela Kode.

Peter Ming
sumber
... lalu apa? Sudah terdaftar di sana tetapi tidak muncul ketika saya klik kanan.
Luke Puplett
0

"Anda mungkin menemukan bahwa menggunakan salah satu metode di atas mungkin tidak berfungsi. Yaitu Jendela Perintah akan memberi tahu Anda bahwa perintah tidak tersedia, pintasan keyboard tidak akan menyala atau menu Konteks akan tersedia tetapi dinonaktifkan.

Agar semua ini berfungsi, Anda harus terlebih dahulu memiliki Proyek Uji Unit dalam solusi Anda. Setelah membuat Proyek Uji Unit, Anda perlu menambahkan item Uji Unit secara manual ke proyek meskipun proyek itu terbuka dengan sendirinya. Setelah Anda melakukan ini, semuanya akan berfungsi seperti di Visual Studio 2010. Anda dapat menghapus file UnitTest1.cs dengan aman. "

(Michael Freidgeim)

Varini
sumber