Machine.Specifications
LightBDD
Our great sponsors
Machine.Specifications | LightBDD | |
---|---|---|
1 | 1 | |
883 | 336 | |
-0.1% | 2.7% | |
4.0 | 5.3 | |
about 1 month ago | 17 days ago | |
C# | C# | |
MIT License | BSD 2-clause "Simplified" 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.
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:
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.
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
xUnit - xUnit.net is a free, open source, community-focused unit testing tool for .NET.
BDDfy - BDDfy is the simplest BDD framework EVER!
NUnit - NUnit Framework
xBehave.net - ✖ An xUnit.net extension for describing each step in a test with natural language.
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.
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.
snapshooter - Snapshooter is a snapshot testing tool for .NET Core and .NET Framework
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.