Unit Testing and Mocking Tools: C/C++, Java, JavaScript, .NET, PHP, Python, Ruby, Flex


.NET Unit Test Tools


#TestsEx (Sharp Tests Extensions) is a set of extensible extensions. The main target is write short assertions where the Visual Studio IDE intellisense is your guide. #TestsEx can be used with NUnit, MsTests, xUnit, MbUnit.


AutoTest.NET is a tool for running your unit tests as soon as your save your files. This practice gives you immediate feedback and helps facilitate real test driven development.


BizUnit enables automated tests to be rapidly developed. BizUnit is a flexible and extensible declarative test framework targeted that rapidly enables the automated testing of distributed systems, for example it is widely used to test BizTalk solutions. BizUnit is fully extensible. Its approach is to enable test cases to be constructed from generic reusable test steps, test cases are defined in XML which allows them to be auto-generated and also enables the ‘fixing up’ of Url’s for different environments, e.g. test, staging and production environments. Defining test cases in XML enables test cases to be auto-generated.


Cinch is a fully featured WPF MVVM framework that makes it easier to develop rich MVVM WPF applications. It also provides UI services/threading/unit tests helpers and much more. Cinch is a WPF ModelView-ViewModel framework that takes the UI services route to provide a rich WPF MVVM framework that comes with several standard services out of the box as well as Unit test services.


Inspired by JUnit, csUnit brings the power of unit testing to the .NET framework. csUnit is your key to unit testing and test-driven development using .NET languages such as C#, Visual Basic .NET, Visual J#, or Managed C++.


A Visual Studio 2010 custom tool to generate unit tests from Microsoft(r) Word(r) 2007/2010 documents.


dotunit is a port of JUnit (www.junit.org) to the Microsoft .net platform. This testing framework allows for automated unit and functional tests which are vital for refactoring and regression testing.


Doubler is a code generator that makes unit testing easier. It is especially useful when working with legacy code. It is a Reflector add-in, a tool already woven into your workflow. It will help you cleave dependencies apart, create test doubles, and write unit tests with little effort and less coding.

eXtended Task Manager

The Warecase eXtended Task Manager (XTM) is a powerful auxiliary tool designed for simplifying the environment of the software developer. XTM is an extended windows task manager and performance monitoring tool for Microsoft Windows.

Fiddler HTTP Debugger

Fiddler is a HTTP Debugging Proxy which logs all HTTP traffic between your computer and the Internet. Fiddler allows you to inspect all HTTP Traffic, set breakpoints, and "fiddle" with incoming or outgoing data. Fiddler includes a powerful event-based scripting subsystem, and can be extended using any .NET language.


At its core Glimpse allows you to debug your web site or web service right in the browser. Glimpse allows you to "Glimpse" into what's going on in your web server. In other words what Firebug is to debugging your client side code, Glimpse is to debugging your server within the client.


IeUnit is a simple framework to test logical behaviors of web pages. It helps software engineers to create, organize and execute functional unit tests. The architecture of IeUnit is based on the xUnit framework that has been adapted to various languages and platforms. IeUnit is implemented in JavaScript language and tailored to Windows platform. By leveraging services provided by Internet Explorer browser, its DHTML model and related COM technologies IeUnit offers a simple and efficient test framework.


A JavaScript on .Net Specification framework that supports Behavior-Driven Development (BDD).


JavaScript Client and ASP .NET Server Testing Framework that you can use if you are looking for a way to do Test-Driven Development on in-line ASP .NET code

Machine.Specifications MSpec

Machine.Specifications is a Context/Specification framework geared towards removing language noise and simplifying tests.


MbUnit is an extensible .Net test framework. As in NUnit, tests are created at runtime using Reflection and custom attributes. MbUnit differentiates itself from NUnit in it's extensibility model. It contains a number of tests that go beyond the simple unit testing, such as a greater assert range, pairwise testing, combinatorial testing, data oriented testing, etc...


MbUnit provides advanced unit testing support with advanced fixtures to enable developers and testers to test all aspects of their software.


Moles is a lightweight framework for test stubs and detours in .NET that is based on delegates. Moles was designed provide a minimal overhead to the Pex white box analysis, and it encourages programmatic models rather than record/replay tests. Moles may be used to detour any .NET method, including non-virtual/static methods in sealed types.


Nester is a tool for mutation analysis of your source code in order to assess the adequacy of your tests. It involves modification of programs to see if existing tests can distinguish the original program from the modified program.


NMock3 is a dynamic mock object library for .NET. Mock objects make it easier to test single components - often single classes - without relying on real implementations of all of the other components.


A Behaviour Specification Framework for .Net


Specify is a Behavior-Driven Development Framework developed in C#.NET.


NSubstitute is a friendly substitute for .NET mocking frameworks. NSubstitute is designed for Arrange-Act-Assert (AAA) testing, so you just need to arrange how it should work, then assert it received the calls you expected once you're done.


NUnit is an open source unit testing framework for Microsoft .NET. It serves the same purpose as JUnit does in the Java world, and is one of many in the xUnit family.


NUnitAsp is a tool for automatically testing ASP.NET web pages. It's an extension to NUnit, a tool for test-driven development in .NET.


Machine.Fakes is little framework build on top of Machine.Specifications that can best be described as an extended integration layer between Machine.Specifications and different Mock/Fake/Substitute frameworks.


Moq (pronounced "Mock-you" or just "Mock") is the only mocking library for .NET developed from scratch to take full advantage of .NET 3.5 (i.e. Linq expression trees) and C# 3.0 features (i.e. lambda expressions) that make it the most productive, type-safe and refactoring-friendly mocking library available.


A dynamic mock object framework for the .Net platform. It's purpose is to ease testing by allowing the developer to create mock implementations of custom objects and verify the interactions using unit testing.


Specter is an object-behaviour specification framework. It enables behavior driven development (BDD) by allowing developers to write executable specifications for their objects, before actually implementing them. Technologically this is similar to test driven development (TDD), however the shift in nomenclature removes the psychological barrier of writing "tests" for code that does not exist.


STORM is a free and open source tool for testing web services. It is written mostly in F#. STORM allows you to test web services written using any technology (.NET , Java, etc.)


StoryQ is a C# 3.5 framework for Behaviour-Driven Development (BDD). Similar to nBehave, but overall simplier. It is made to work within NUnit and MSUnit test runner lifecycles to make integration easier. Stories can be created either in plain text and then passively generated as C# (using to WPF application) or are directly entered in tests. Output is either to console or to html files. We include these html files on the build server for visibility beyond the developers. Each story's output is either pending, passed or failed - just as you would expect from NUnit.


SWEA records, replays test scripts and generates C# or VB.NET script code. SWEA generated scripts can be used in NUnit, MbUnit or VS Unit testing frameworks. SWEA was specially designed to automate complex DHTML/AJAX applications.

Telerik JustMock

JustMock is a new developer productivity tool designed to make it easy to create unit tests. JustMock cuts your development time and helps you create better unit tests without requiring you to change your code. It allows you to perform fast and controlled tests that are independent of external dependencies like databases, web services, or proprietary code. With JustMock, there are also no limits to what you can mock! You can fake non-virtual methods, sealed classes, and static methods and classes.


TestDriven.NET makes it easy to run unit tests with a single click, anywhere in your Visual Studio solutions. It supports all versions of Microsoft Visual Studio and it integrates with the best .NET development tools.

Typemock Isolator.NET

Typemock Isolator makes unit testing easy – easy to start, easy to get the team onboard, and easy to spread unit testing in the organization. With Isolator you can test any .NET code: new, old, even code inherited from others.

Unit Driven

Unit Driven is designed to allow you to run unit tests in both Silverlight and .NET. In .NET it compliments other unit test frameworks such as NUnit or MSTest. In Silverlight it is a standalone unit testing framework, providing more robust test capabilities than the prototype testing framework available from Microsoft.

Visual T#

Visual T# is a unit tests development environment integrated within Visual Studio™, though it can also be used indepedently from it.

York Extensible Testing Infrastructure (YETI)

YETI is an automated random testing tool for Java, JML, .NET, C, command-line programs. It is freely available under BSD license.