{"repo":"uladz-zubrycki/Reseed","free":true,"listed":false,"github":"https://github.com/uladz-zubrycki/Reseed","clone":"git clone https://github.com/uladz-zubrycki/Reseed.git","description":"Initialize and clean integration tests database in a convenient, reliable and fast way.","language":"C#","stars":20,"topics":["tests","data","mssql","mssql-database","integration-testing","seed","ndbunit2","data-seeding","csharp","dotnet"],"license":"Apache-2.0","category":"databases-storage","readme_excerpt":"Disclaimer : Versions of the library up to 1.0.0 don't follow semantic versioning and public api is a subject of possibly breaking changes. :mega: Check out Discussions if you've got questions or any ideas to suggest. About Reseed library allows you to initialize and clean integration tests database in a convenient, reliable and fast way. It covers cases similar to what a few other libraries intend to do: NDbUnit and NDbUnit2 inspired by DbUnit; Respawn; ABP Framework. Library is written in C# and targets netstandard2.0 , therefore could be used by both .NET Framework and .NET / .NET Core applications. This is how it's supposed to be used: - you describe the state of database needed for your tests; - you initialize database prior to running any tests, so that Reseed is able to do its magic; - you insert, delete or restore data to the previous state in between of the test runs, so that you're sure that each test has the same data to operate on; - you clean database after running the tests. As simple as that. Problem Integration tests operating on a real database do modify the data, so some sort of isolation is required to avoid inter-test dependencies, which are usually a reason of random failures and flaky tests. There are a few ways to address that issue, each of which has its pros and cons. E.g: Make tests responsible for restoring the data they change; Prepare data needed in the tests themselves and assert in some smart way on this data only; Create and initialize fresh da","default_branch":null,"files":null,"tree":[],"storefront":"/r/uladz-zubrycki","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/uladz-zubrycki/Reseed/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}