Zamiast [SetUp] i [TearDown] w Nunit, jaka jest alternatywa w Visual Studio Ultimate 2010 Unit Testing. W Nunit można sobie wyobrazić, że metody konfiguracji i porzucenia pełnią rolę konstruktorów i destruktorów dla testów w naszej klasie.
Zamiast [SetUp] i [TearDown] w Nunit, jaka jest alternatywa w Visual Studio Ultimate 2010 Unit Testing. W Nunit można sobie wyobrazić, że metody konfiguracji i porzucenia pełnią rolę konstruktorów i destruktorów dla testów w naszej klasie.
Odpowiedzi:
Metoda z adnotacją [TestInitialize]
jest uruchamiana przed każdym testem. Podobnie [TestCleanup]
jest po każdym teście.
[ClassInitialize]
i [ClassCleanup]
są uruchamiane przed i po „zestawie” testów wewnątrz klasy TestClass.
Visual Studio będzie korzystać z MSTest, czyli frameworka testów jednostkowych Microsoftu, jest podobny do NUnit. W rzeczywistości większość z nich ma podobne koncepcje, ale różni się składnią.
Aby zobaczyć porównanie, twórcy xUnit (innego frameworka do testów jednostkowych) mają tutaj listę:
http://xunit.github.io/docs/comparisons.html
Dokładniej to, o co prosiłeś, TestInitialize
jest odpowiednikiem MSTest dla NUnit Setup
i to samo dla TestCleanup
i TearDown
.
Warto zauważyć, że zostanę przy NUnit, jeśli próbujesz przeprowadzić automatyczne testy jednostkowe lub jakąś ciągłą integrację. Głównym powodem, dla którego różne *unit
struktury są preferowane w stosunku do MSTest, jest to, że musisz mieć kopię programu Visual Studio na komputerze, na którym przeprowadzasz testy. Dobra dla własnej maszyny lokalnej, inna historia dla serwera CI. Visual Studio to świnia programu, a zainstalowanie go na serwerze (który ogólnie ma być tak lekki i szybki, jak to tylko możliwe), samo uruchomienie testów jest nieco denerwujące.