2011-08-01 24 views
18

Oldukça eski bir kitapta yazdığı gibi, XUnit Patterns NUnit 2.0, her bir test için yeni test fikstürleri oluşturmamıştır ve bu yüzden testler bazı fikstür durumunu manipüle ederse paylaşılmış ve çeşitli kötü yan etkilere neden olabilir.NUnit, günümüzde her bir test yöntemi için test fikstür sınıfının yeni bir örneğini oluşturur mu?

Bu hala aynı mıdır? Resmi sitede bulmayı denedim ama başarısız oldu ve bir süre NUnit kullanamadı.

cevap

14

Armatür, bu sabitlemedeki tüm testler için bir kez oluşturulur.

Belirli bir fikstür sınıfı için, bir FixtureSetup yöntemi bir bağlantıdaki tüm testler için bir kez çalıştırılır ve her bir test için bir Kurulum yöntemi bir kez çalıştırılır. Yani, sıfırlanması gereken herhangi bir durum bir Kur yönteminde (veya her bir testin sonunda çalıştırılan TearDown) yapılmalıdır.)

+0

Not NUnit yeni sürümleri O (tek bir armatür örneği tüm testler için aynı yeniden kullanılır – Pedro

3

Bunun beni etkilemiş bir sorun olduğunu ve bu bağlantıyı bulduğunu buldum Bu konuya biraz tarih sağlar; https://blogs.msdn.microsoft.com/jamesnewkirk/2004/12/04/why-variables-in-nunit-testfixture-classes-should-be-static

Bence NUnit V2.0 her içerdiği bir test yöntemi için test fikstür sınıfının yeni bir örneğini oluşturmaz oldu yazdığında yapıldığı büyük vida-up biri düşünüyorum.

henüz değişti

+2

"OneTimeSetUp" ile "FixtureSetup" yerini aldığını görmek için V3 bu test edilmedi) NUnit v3.9'dan itibaren. –

İlgili konular