Wiem, że to stary wątek, ale pomyślałem, że oddam głos na xUnit.NET . Podczas gdy większość innych wymienionych ram testowych jest prawie taka sama, xUnit.NET zastosował dość unikalne, nowoczesne i elastyczne podejście do testowania jednostkowego. Zmienia terminologię, więc nie definiujesz już TestFixtures i Testów ... określasz Fakty i Teorie dotyczące twojego kodu, który lepiej integruje się z koncepcją testu z perspektywy TDD / BDD.
xUnit.NET jest również WYJĄTKOWO rozszerzalny. Klasy atrybutów FactAttribute i TraitAttribute nie są zapieczętowane i zapewniają nadające się do zastąpienia podstawowe metody, które dają dużą kontrolę nad tym, w jaki sposób metody te atrybuty powinny być wykonywane. Podczas gdy xUnit.NET w swojej domyślnej formie umożliwia pisanie klas testowych, które są podobne do urządzeń testowych NUnit z ich metodami testowymi, nie jesteś ograniczony do tej formy testowania jednostkowego. Możesz dowolnie rozszerzać ramy, aby obsługiwały specyfikacje Concern / Context / Observation w stylu BDD, jak pokazano tutaj .
xUnit.NET obsługuje również testowanie w stylu dopasowania bezpośrednio po wyjęciu z pudełka dzięki swojemu atrybutowi Teoria i odpowiednim atrybutom danych. Dopasowane dane wejściowe mogą być ładowane z programu Excel, bazy danych, a nawet niestandardowego źródła danych, takiego jak dokument programu Word (poprzez rozszerzenie podstawowego atrybutu danych). Pozwala to na wykorzystanie jednej platformy testowej do testów jednostkowych i testów integracyjnych, które może być ogromny w zmniejszaniu zależności od produktu i wymaganego szkolenia.
Inne podejścia do testowania można również wdrożyć za pomocą xUnit.NET ... możliwości są dość nieograniczone. W połączeniu z inną, bardzo perspektywiczną frakcją, Moq , oba tworzą bardzo elastyczną, rozszerzalną i potężną platformę do wdrażania automatycznych testów.