PowerMock
Writing unit tests can be hard and sometimes good design has to be sacrificed for the sole purpose of testability. Often testability corresponds to good design, but this is not always the case. For example final classes and methods cannot be used, private methods sometimes need to be protected or unnecessarily moved to a collaborator, static methods should be avoided completely and so on simply because of the limitations of existing frameworks. PowerMock is a framework that extends other mock libraries such as EasyMock with more powerful capabilities. PowerMock uses a custom classloader and bytecode manipulation to enable mocking of static methods, constructors, final classes and methods, private methods, removal of static initializers and more. By using a custom classloader no changes need to be done to the IDE or continuous integration servers which simplifies adoption.
Learn more
Sahi Pro
Sahi Pro is a suite of automation tools for web, web services, Windows desktop, Java and mobile applications. With features like automatic waits, recorders, accessor spy, inbuilt framework and editor, parallel and distributed playback, automatic logging and reporting, javascript code coverage, multi-language support etc., Sahi Pro saves 70% of time and effort normally spent in test automation. Sahi Pro is trusted by over 400 companies worldwide and is fast emerging as the preferred test automation tool in the agile world. Simple to use and easy to learn. Tester-centric while being business-driven. A Test Automation Platform that truly understands your business needs. Sahi Pro is the perfect test automation platform for rockstar QA engineers working on almost any tech stack. Agile quality assurance delivered. Rapid stable playback with continuous Integration for quick feedback.
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
Cucumber
Validate executable specifications against your code on any modern development stack. With over 40 million downloads, Cucumber Open is the world’s #1 automation tool for Behavior-Driven Development. Cucumber Open isn't just open source, it's an open platform that plays well with the tools you already use and love. Works with Java, JavaScript, Ruby, .NET and many other platforms. Store plain text specifications alongside your code in your own source control system. Describe how the system should behave in a way that everybody can understand. Automate with Selenium, API calls or direct function calls in the same process. Generate reports in HTML, JSON and other formats, or build your own reports. Integrate with CucumberStudio, JIRA or build your own plugins. Bridge the gap between business and development using BDD. Decrease rework with test automation. Get real-time insights with living documentation. Seamless integration with Git.
Learn more