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.
visual-studio-2010
unit-testing
mstest
Etibar Hasanov
źródło
źródło
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.źródło
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 NUnitSetup
i to samo dlaTestCleanup
iTearDown
.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.źródło