Ignorowanie testu w MbUnit 3.0.5

Jan 13, 2009 - 1 minute read

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 odwersji 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.

Tak blisko, a za daleko

Dec 11, 2008 - 2 minute read

W trakcie pracy nad kodem staram się jak najbardziej ograniczać moje wędrówki między kawiaturą a myszką. W tym celu oprócz ReSharper-a korzystam z ViEmu. Jak sama nazwa wskazuje jest to emulacja edytora Vi pod Visual Studio. Teraz mój gryzoń często leniuchuje przy klawiaturze grzejąc się w blasku monitora :). Mimo tego wciąż moje palce pokonują spore odległości. Sięgając po klawisz Esc oraz strzałki. Esc w Vi jest używany do wychodzenia z trybu “Insert”, czyli praktycznie non-stop.

Remote backup dla SVN na GoogleCode

Aug 21, 2008 - 1 minute read

Backupy dla SVN można wykonać za pomocą komendy svnadmin dump. Możliwe jest to jedynie wyłącznie kiedy mamy fizyczny dostęp do repozytorium. Co zrobić kiedy nasz projekt jest hostowany ? Należy zrobić lokalny mirror. W tym celu napisałem mały skrypt WSH, który automatyzuje poszczególne kroki. Można go pobrać stąd -> svnmirror.zip oraz uruchomić podając gdzie ma się znajdować lokalne repozytorium a gdzie zdalne. Przykład C:\SVN>svnmirror C:\SVN\RubyView.Mirror https://dabrowski.daniel@rubyview.googlecode.com/svn Teraz już wystarczy wykonać

Dynamiczne referencje do bibliotek w Visual Studio

Aug 13, 2008 - 1 minute read

Często, w trakcie korzystania z zewnętrznych bibliotek w naszym projekcie, pojawia się pewien dylemat. Czy dołączone biblioteki, powinny być skompilowane jako “debug” czy jako “release” ? Zamiast podejmować trudną decyzję zróbmy sobie proste rozwiązanie. W Automatyzacja projektu z MSBuild-em - 1. Struktura proponowałem przechowywanie “third-party libraries” w katalogu “lib”. Teraz dodatkowo zróbmy tam podział na “debug” i “release”. Przykład z bibliotekami z IronRuby, które wykorzystuje w aktualnym projekcie: lib net 2.0 IronRuby debug release Struktura jest na tyle oczywista że chyba nie trzeba opisywać.

Testowanie kompatybilnosci przegladarek dla Helpers w MonoRail

Jul 31, 2008 - 3 minute read

Helpers w MonoRail są często wykorzystywane do generowania kodu Html. Bywają sytuacje kiedy tworzony Html powinien wyglądać inaczej dla różnych przeglądarek. Czasem do wykrycia rodzaju oraz wersji przeglądarki stosuje się System.Web.HttpRequest.Browser, który zwraca klasę System.Web.HttpBrowserCapabilities. Niestety to rozwiązanie ma trzy zasadnicze wady: Trudno jest mockować klasę HttpBrowserCapabilities Rozwiązanie to opiera się na pliku browscap.ini. W momencie uruchamiania aplikacji z serwera firmy hostingowej, nie mamy żadnej kontroli nad aktualizacja pliku browscap.ini. System.Web.HttpRequest różni się od Castle.MonoRail.Framework.IRequest przede wszystkim tym, że IRequest nie ma property Browser :) i nie korzysta z HttpBrowserCapabilities :).