LightBDD
Machine.Specifications
Our great sponsors
LightBDD | Machine.Specifications | |
---|---|---|
1 | 1 | |
336 | 883 | |
2.7% | -0.1% | |
5.3 | 4.0 | |
12 days ago | about 1 month ago | |
C# | C# | |
BSD 2-clause "Simplified" License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
LightBDD
-
TDD, Where Did It All Go Wrong
That's why I'm a fan of frameworks like https://github.com/LightBDD/LightBDD. Getting every single bit of implementation code out of my tests so that they are just a basic set of rules the system has to abide by always makes testing easier to deal with. Nothing nicer than realizing you need to replacing an entire section of the codebase and not have to update a single test, other than a few fixtures behind the scenes.
Machine.Specifications
-
Show HN: A C# library to help you enforce a Given-When-Then structured Unit test
Looks like a similar concept to https://github.com/machine/machine.specifications which I used many years ago to try and achieve BDD style unit testing.
One point to note from your introduction was the following statement:
What are some alternatives?
SpecFlow - #1 .NET BDD Framework. SpecFlow automates your testing & works with your existing code. Find Bugs before they happen. Behavior Driven Development helps developers, testers, and business representatives to get a better understanding of their collaboration
BDDfy - BDDfy is the simplest BDD framework EVER!
xUnit - xUnit.net is a free, open source, community-focused unit testing tool for .NET.
xBehave.net - ✖ An xUnit.net extension for describing each step in a test with natural language.
NUnit - NUnit Framework
Fluent Assertions - A very extensive set of extension methods that allow you to more naturally specify the expected outcome of a TDD or BDD-style unit tests. Targets .NET Framework 4.7, as well as .NET Core 2.1, .NET Core 3.0, .NET 6, .NET Standard 2.0 and 2.1. Supports the unit test frameworks MSTest2, NUnit3, XUnit2, MSpec, and NSpec3.
snapshooter - Snapshooter is a snapshot testing tool for .NET Core and .NET Framework
AutoFixture - AutoFixture is an open source library for .NET designed to minimize the 'Arrange' phase of your unit tests in order to maximize maintainability. Its primary goal is to allow developers to focus on what is being tested rather than how to setup the test scenario, by making it easier to create object graphs containing test data.
WireMock.Net - WireMock.Net is a flexible product for stubbing and mocking web HTTP responses using advanced request matching and response templating. Based on the functionality from http://WireMock.org, but extended with more functionality.