Witaj na Zine.net online Zaloguj się | Rejestracja | Pomoc

Ignorowanie testu w MbUnit 3.0.5

Aby zignorować test wystarczy dodać atrybut [Ignore] do deklaracji metody. Co natomiast natomiast zrobić jeżeli decyzje o ignorowaniu wykonania testu chcielibyśmy podjąć dopiero w trakcie jego wykonania ? Zarówno w NUnit jak i MbUnit 2.0 istnieje metoda Assert.Ignore(), która powoduje że test jest ignorowany w momencie jej wywołania.

Niestety MbUnit od wersji 3.0 tej metody już nie ma. Obejściem tego problemu jest rzucenie odpowiedniego Exception. Oto przykład pomocniczej metody testowej, której zadaniem jest sprawdzanie poprawności mapowania długości pola w NHibernate. SQLite nie posiada w ogóle czegoś takiego jak określenie długości pola zatem dla tego typu bazy danych ten test nie miałby sensu. A oto i kod:

   1: protected void AssertPropertyLength(string propertyName, int length)
   2: {
   3:     var driver = ((SessionFactoryImpl)this.Session.SessionFactory).ConnectionProvider.Driver;
   4:     if (driver.GetType().Equals(typeof(SQLite20Driver)))
   5:     {
   6:         throw new SilentTestException(TestOutcome.Ignored, "Test skipped for SQLite");
   7:     }
   8: ...
Opublikowane 13 stycznia 2009 20:01 przez rod
Filed under: , ,

Komentarze:

Brak komentarzy
Komentarze anonimowe wyłączone