pytest
pytest helps you write better programs. The pytest framework makes it easy to write small tests, yet scales to support complex functional testing for applications and libraries. Due to pytest’s detailed assertion introspection, only plain assert statements are used. Detailed info on failing assert statements. Auto-discovery of test modules and functions. Modular fixtures for managing small or parametrized long-lived test resources. Can run unittest (including trial) and nose test suites out of the box. Supports Python 3.6+ and PyPy 3. Rich plugin architecture, with over 315+ external plugins and thriving community. The maintainers of pytest and thousands of other packages are working with Tidelift to deliver commercial support and maintenance for the open source dependencies you use to build your applications. Save time, reduce risk, and improve code health, while paying the maintainers of the exact dependencies you use.
Learn more
HUnit
HUnit is a unit testing framework for Haskell, inspired by the JUnit tool for Java. It's easy to use HUnit, assuming you are familiar with Haskell, though not necessarily with JUnit. A test-centered methodology for software development is most effective when tests are easy to create, change, and execute. The JUnit tool pioneered support for test-first development in Java. HUnit is an adaptation of JUnit to Haskell, a general-purpose, purely functional programming language. With HUnit, as with JUnit, you can easily create tests, name them, group them into suites, and execute them, with the framework checking the results automatically. Test specification in HUnit is even more concise and flexible than in JUnit, thanks to the nature of the Haskell language. HUnit currently includes only a text-based test controller, but the framework is designed for easy extension. Run the tests as a group.
Learn more
TestNG
TestNG is a testing framework inspired from JUnit and NUnit but introducing some new functionalities that make it more powerful and easier to use, such as annotations, or the possibility to run your tests in arbitrarily big thread pools with various policies available (all methods in their own thread, one thread per test class, etc.). You can test that your code is multithread safe, there is flexible test configuration, support for data-driven testing (with @DataProvider), support for parameters, powerful execution model (no more TestSuite). There is a supported by a variety of tools and plug-ins (Eclipse, IDEA, Maven, etc.), it also embeds BeanShell for further flexibility, and there is default JDK functions for runtime and logging (no dependencies), and dependent methods for application server testing. TestNG is designed to cover all categories of tests, unit, functional, end-to-end, integration, etc.
Learn more
dotCover
dotCover is a .NET unit testing and code coverage tool that works right in Visual Studio and in JetBrains Rider, helps you know to what extent your code is covered with unit tests, provides great ways to visualize code coverage, and is Continuous Integration ready. dotCover calculates and reports statement-level code coverage in applications targeting .NET Framework, .NET Core, Mono for Unity, etc. dotCover is a plug-in to Visual Studio and JetBrains Rider, giving you the advantage of analyzing and visualizing code coverage without leaving the code editor. This includes running unit tests and analyzing coverage results right in the IDEs, as well as support for different color themes, new icons and menus. dotCover comes bundled with a unit test runner that it shares with another JetBrains tool for .NET developers, ReSharper. dotCover supports continuous testing, a modern unit testing workflow whereby dotCover figures out on-the-fly which unit tests are affected by your code changes.
Learn more