2008-10-22 16 views
6

SoruMSTest, her başlatıldığında belirli bir yöntemi çalıştırabilir mi?

hep Test düzeneği mstest aracılığıyla çalıştırılan her zaman görerek çalışacak bir yöntem için bir yolu var mı?

[TestInitialize] ve [ClassInitialize] özelliklerinin nasıl çalıştığına benzer, ancak tüm montaj için. Her test sınıfının [ClassInitialize] yöntemine kod eklemek zorunda kalmak istemiyorum.

Akıl Yürütme

benim testlerden bazıları veritabanı ile etkileşime girer. Verileri ve üretim veritabanına çok zararlı olabilecek diğer şeyleri silerler. Birim test projemi üretim dışı veritabanına karşı çalıştırmasını söyleyen bir yapılandırma dosyası var.

Log4Net kendisini yapılandırmak için bir montaj özelliği kullanılıyor

Fikirler "Tamam Veritabanı adı 'üretim' değil" derdi başlangıçta aday olacağını bir yöntem olsaydı ben daha iyi hissederiz .

using log4net.Config; 
[assembly: XmlConfigurator()] 

Belki bir şey yapabilirim simliar?

[assembly: CheckDatabaseNameNot("production")] 

cevap

6

[AssemblyInitialize] 'ı denediniz mi?

+0

Böyle bir özellik aradığımı sanıyordum, ama evet işe yarıyor. Veritabanı güvenli denetimi başarısız olursa, yöntemden bir istisna atabilirim. – quip

+0

İlk önce cevabını okurken şaka yaptığınızı sanıyordum - çünkü sorumu sormadan önce aradığımdan eminim! – quip

+1

Lol, evet hepimiz daha önce oradaydık. –

İlgili konular