matkoch / TestFx

Next Level Testing.
Apache License 2.0
34 stars 4 forks source link

TestFx

Build Coverage Latest Beta License Chat

A brief summary of the motivation for TestFx as well as a demonstration what was achieved through its SpecK extension was given at the JetBrains Night in Munich:

tl;dw (too long, didn't watch)

TestFx is indeed another test framework, but it is also a platform. Its novelty lies in the generalization of execution, allowing a test to be represented in every possible fashion. Developers can now invent new test languages more rapidly, without worrying about the foundation for a pleasent testing experience, like a console runner or ReSharper integration.

Built on top of the platform, TestFx.SpecK enables you to write reliable tests using an extensible fluent interface. By using the Spec base class, it eliminates boiler-plate code from your test suites, like setting up fakes and creating the subject instances. The actual assertions can be written with any third-party library you're familar with.

A typical test suite for the Math.Pow method could look like this:

Math.Pow Sample

ReSharper recognizes test cases and also supports the UnitTestRunContext action (default on shortcut CTRL+U,R) to execute tests by cursor position. After the execution of tests, ReSharper displays the results in the UnitTestSession view accordingly:

UnitTestSession Window

The output window offers a comprehensive summary for a particular test. It displays a list of all operations executed, along with an indicator whether it was successful or not. Thrown exceptions are displayed by name.

Acknowledgments

Clap your hands for some important guys who helped me out a lot: