Pengujian Unit Visual Studio: SetUp dan TearDown

90

Alih-alih [SetUp] dan [TearDown] di Nunit apa alternatif dalam Pengujian Unit Visual Studio Ultimate 2010. Di Nunit Anda dapat membayangkan metode penyiapan dan pembongkaran sebagai konstruktor dan penghancur untuk pengujian di kelas kami.

Etibar Hasanov
sumber

Jawaban:

143

Metode yang dianotasi [TestInitialize]dijalankan sebelum setiap pengujian. Begitu juga [TestCleanup]setelah setiap ujian.

[ClassInitialize]dan [ClassCleanup]dijalankan sebelum dan sesudah 'rangkaian' pengujian di dalam TestClass.

Mikeb
sumber
6
Anda bisa menambahkan bahwa metode ClassInitialize menggunakan TestContext sebagai argumen.
tentang
4
Dan itu juga harus publik statis
Shalom Aleichem
4

Visual Studio akan menggunakan MSTest, yaitu kerangka pengujian unit Microsoft, mirip dengan NUnit. Faktanya, kebanyakan dari mereka serupa dalam konsep tetapi sintaksnya berbeda.

Untuk melihat perbandingannya, pembuat xUnit (kerangka pengujian unit lain) memiliki daftar di sini:

http://xunit.github.io/docs/comparisons.html

Lebih khusus lagi apa yang Anda minta, TestInitializeapakah MSTest setara dengan NUnit Setup, dan sama untuk TestCleanupdan TearDown.

Satu hal yang perlu diperhatikan, saya akan tetap menggunakan NUnit jika Anda mencoba melakukan pengujian unit otomatis atau semacam integrasi berkelanjutan. Alasan utama berbagai *unitkerangka lebih disukai daripada MSTest adalah karena Anda harus memiliki salinan Visual Studio di mesin tempat Anda menjalankan pengujian. Baik untuk mesin lokal Anda sendiri, cerita berbeda untuk server CI. Visual Studio adalah babi dari sebuah program, dan menginstalnya di server (yang umumnya seharusnya seringan dan secepat mungkin), hanya untuk menjalankan tes agak mengganggu.

Arran
sumber
7
Anda cukup menginstal Agen Uji Tim TFS (dan tidak mengkonfigurasinya) pada server CI untuk menginstal runner uji ( microsoft.com/en-us/download/details.aspx?id=1334 ). Tidak perlu penginstalan Visual Studio lengkap, kecuali Anda ingin tes Generic, Ordered, CodedUI atau Performance.
jessehouwing
1
Team Build 2012 menginstal dukungan untuk runner pengujian yang berbeda di luar kotak tanpa perlu menginstal Visual Studio di server build Anda juga.
jessehouwing