Testowanie

FluentValidation.Validators.UnitTestExtension wersja 1.5

Nowa wersja pakietu FluentValidation.Validators.UnitTestExtension jest dostępna. Pakiet umożliwia tworzenie testów jednostkowych Fluent Validator-ów w sposób bardziej efektywny. W wersji 1.5 wprowadziłem następujące zmiany: wsparcie dla nowej wersji FluentValidation (>8.4) Projekt dostępny jest oczywiście na GitHubie.

FluentValidation.Validators.UnitTestExtension wersja 1.4

Nowa wersja pakietu FluentValidation.Validators.UnitTestExtension jest dostępna. Pakiet umożliwia tworzenie testów jednostkowych Fluent Validator-ów w sposób bardziej efektywny. W wersji 1.4 wprowadziłem następujące zmiany: wprowadziłem możliwość szybkiego testowania nowych walidatorów – EnumValidator, MaxLengthValidator, MinLenghtValidator, ExactLengthValidator, ExclusiveBetweenValidator oraz InclusiveBetweenValidator dodałem wsparcie dla .NETStandard 1.6 oraz .NETStandard 2.0 Projekt dostępny jest oczywiście na GitHubie.

Pakiet Moq.EntityFrameworkCore

Od wczoraj dostępny jest pakiet, który umożliwia łatwe zamockowanie DbSet<TEntity> wykorzystując Moq. Źródła oraz krótką instrukcję można znaleźć na portalu GitHub. Natomiast wersję skompilowaną można ściągnąć z portalu NuGet. Zasada działania jest taka sama jak w przypadku pakietu Moq.EntityFramework.Helpers.

By |2017-10-15T22:52:17+02:0015 października 2017 |ASP.NET Core, C#, Projekty, Testowanie|0 komentarzy

FluentValidation.Validators.UnitTestExtension wersja 1.1

Nowa wersja pakietu FluentValidation.Validators.UnitTestExtension jest dostępna. Pakiet umożliwia tworzenie testów jednostkowych Fluent Validator-ów w sposób bardziej efektywny. W wersji 1.1 wprowadziłem następujące zmiany: dodałem wsparcie do najnowszej wersji biblioteki FluentValidation 7.*, wprowadziłem możliwość szybkiego testowania dwóch walidatorów – ScalePrecisionValidator oraz RegularExpressionValidator. Projekt dostępny jest oczywiście na GitHubie.

Pakiet Moq.EntityFramework.Helpers

Na blogu pojawiły się ostatnio dwa wpisy pokazujące w jaki sposób mnożna zamockować DbSet<TEntity> wykorzystując Moq: wywołania synchroniczne – Mockowanie typów DbContext oraz DbSet z wykorzystaniem Moq wywołania asynchroniczne – EntityFramework – testowanie zapytań asynchonicznych Opisane rozwiązania połączyłem w jednej bibliotece i opublikowałem jako pakiet NuGet – Moq.EntityFramework.Helpers. […]

Przyspieszanie AutoFixture

O bibliotece AutoFixture wspominałem już ostatnio we wpisie Lightning talk – Autofixture. Biblioteka ta pomaga nam w tworzeniu obiektów w trakcie fazy [mark]Arrange[/mark] w testach jednostkowych. Dzięki niej możemy skupić się na tym co rzeczywiście ma zostać przetestowane, a nie na tworzeniu obiektów, które są potrzebne do przeprowadzenia testu. Dodatkowo chroni ona nas przed niepotrzebną modyfikacją testów w momencie zmiany wykorzystywanych w testach obiektów. Ma ona drobną wadę, w zależności od obiektów, które tworzymy za jej pomocą może ona spowodować znaczące wydłużenie trwania testów jednostkowych. W szczególności, gdy za jej pomocą tworzymy obiekty związane z EntityFrameworkiem. […]

By |2017-01-31T21:36:07+01:001 lutego 2017 |Testowanie|0 komentarzy

FluentValidation.Validators.UnitTestExtension

Chciałem Was zachęcić do używania biblioteki, którą ostatnio opublikowałem – FluentValidation.Validators.UnitTestExtension. Głównym jej celem jest rozszerzenie oraz uproszczenie możliwości testowania kodu, który wykorzystuje pakiet FluentValidation do walidacji obiektów. Bibliotekę można zainstalować wykorzystując nugeta: Install-Package FluentValidation.Validators.UnitTestExtension lub ściągnąć kod z GithHuba. Na wiki dotyczącej biblioteki FluentValidation można znaleźć propozycję pisania testów przygotowaną przez autorów biblioteki. W celu ułatwienia nam tego procesu autorzy przygotowali dwie metody ShouldHaveValidationErrorFor oraz ShouldNotHaveValidationErrorFor. […]

By |2017-01-23T20:07:27+01:0023 stycznia 2017 |.net, Testowanie|0 komentarzy

Testy jednostkowe – materiały szkoleniowe dla testerów

Zapraszam do zapoznania się z materiałami szkoleniowymi z testów jednostkowych. Szkolenie zostało przygotowane w ramach pracy w Objectivity Bespoke Software Specialists. Celem szkolenia było przybliżenie zagadnienia związanego z testami jednostkowymi testerom pracującym w Objectivity. Szkolenie składało się z dwóch części: Unit Tests - The Beginning – szkolenie stanowi wstęp do zagadnienia pisania testów jednostkowych, z materiałów można dowiedzieć się: co to są testy jednostkowe, jak należy pisać je poprawnie, co należy robić, aby w ramach pracy nad projektem pisać takie testy lepiej, jak działają testy jednostkowe. Unit Test - Let’s write some code – druga część szkolenia jest już bardziej [...]

Lightning talk – Autofixture

Zachęcam do pobrania i przejrzenia prezentacji z mojego lightning talka dotyczącego biblioteki AutoFixture. Zadaniem tej biblioteki jest ograniczenie części Arrange, a tym samym kosztów utrzymania kodu w testach jednostkowych poprzez ułatwienie nam tworzenia obiektów. Prezentację można ściągnąć z GitHuba – AutoFixture - Lightning talk. Prezentacja przedstawia przykłady użycia wspominanej biblioteki oraz zawiera porównanie AutoFixture do innych bibliotek dostarczających podobną funkcjonalność. Oczywiście na GitHubie znajduje się również kod z przykładami.

Testy jednostkowe SQL – raport pokrycia kodu

Pisanie testów jednostkowych do kodu jest dziś powszechną praktyką, aczkolwiek nie dla wszystkich języków. Pisząc strony WWW, aplikacje desktopowe czy też mobilne przywykliśmy do tego, że tworzymy testy jednostkowe sprawdzające kod aplikacji. Natomiast nie robimy tego dla kodu napisanego w bazie danych. Po części dlatego, że używamy narzędzi ORM, które generują ten kod za nas. I wtedy nie ma rzeczywiście takiej potrzeby. Inaczej wygląda sytuacja w momencie, gdy sami piszemy kod SQLa. Wtedy kod ten powinien zostać przetestowany na takich samych zasadach jak normalny kod produkcyjny. Jeśli nasza baza stoi na Microsoft SQL możemy do tego wykorzystać bibliotekę [mark]tSQLt[/mark]. Bibliotekę [...]

By |2016-09-09T21:47:28+02:0012 września 2016 |SQL, Testowanie|0 komentarzy