Ada | C/C++ | HTML | Java | Javascript | .NET | Perl | PHP | Python | Ruby | SQL | Tcl | XML | Others

Please fill in our 10th anniversary survey!

Opensourcetesting.org is 10 years old! We have changed a lot over that time, and no doubt you have too. We would love to get to know the 'new you' a little bit better, find out what you think of our website and what else we could do for you. Please follow this link and fill in this quick survey. Thankyou so much for visiting our site, and for your time on the survey. Here's to another 10 years!

Java unit testing tools (72 found)


JMockit

Description:

JMockit allows you to use mock-objects to mock the behaviour of static or final code which can't be done with traditional mock frameworks such as JMock and EasyMock.

Requirement:

TestNG, JUnit or other java unit testing framework.


Artima SuiteRunner

Description:

Artima SuiteRunner is a testing toolkit for Java that can be used with JUnit to run existing JUnit test suites, or standalone to create unit and conformance tests for Java APIs. The advantages it offers to JUnit users include reporters, run paths, and recipe files.

Requirement:

OS Independent


Cactus

Description:

Cactus is a simple test framework for unit testing server-side java code (Servlets, EJBs, Tag Libs, Filters, ...) The intent of Cactus is to lower the cost of writing tests for server-side code. It uses JUnit and extends it.

Requirement:

see JUnit


CallbackParams

Description:

CallbackParams is a JUnit add-on that offers elegant and maintainable patterns for parameterized testing. Some important features: - Automated Combining of Parameter-Values - Parameterized Data Is Accessed through Composite Callbacks - Seamless Integration with JUnit-Runners from 3rd Party A couple of tutorial articles at the web site show how the parameterization patterns work and why the maintenance is greatly simplified. Some of the material goes particularly deep into testing outside of the happy-path, e.g. validation and failure behaviors.

Requirement:

Java


Checkstyle

Description:

Checkstyle is a development tool to help programmers write Java code that adheres to a coding standard. By default it supports the Sun Code Conventions, but is highly configurable. It can be invoked with an ANT task and a command line program.

Requirement:

OS Independent


Cobertura

Description:

Cobertura is a free Java tool that calculates the percentage of code accessed by tests. It can be used to identify which parts of your Java program are lacking test coverage. It is based on jcoverage.

Requirement:

OS Independent


Continuous Testing

Description:

Continuous testing uses excess cycles on a workstation to continuously run regression tests in the background, providing rapid feedback about test failures as source code is edited. It reduces the time and energy required to keep code well-tested, and prevents regression errors from persisting uncaught for long periods of time.

Requirement:

OS Independent (Written in an interpreted language)


Daedalos JUnit Extensions

Description:

Daedalos JUnitExtensions make it possible to define test resources as known from the Smalltalk SUnit. Unit tests are speeded up by using test resources, because time-consuming initializations are only done once and remain active over a series of tests. As an example, a database connection is opened before executing the first unit test and can be accessed during the whole testing circle. It isn't necessary to re-open the database connection before a unit test is executed.

Requirement:

JUnit


Dbunit

Description:

DbUnit is a JUnit extension (also usable from Ant) targeted for database-driven projects that, among other things, puts your database into a known state between test runs. This is an excellent way to avoid the myriad of problems that can occur when one test case corrupts the database and causes subsequent tests to fail or exacerbate the damage.

Requirement:

JUnit


DDSteps

Description:

JUnit extension making test cases data driven. Uses external test data (in Excel, XML etc) which is injected into your test case using standard JavaBeans properties. Data enables and integrates toolkits such as jWebUnit and DbUnit. 100% JUnit compatible

Requirement:

OS Independent


DepUnit

Description:

DepUnit is a data and dependency driven unit test system for Java. DepUnit is ideal for sets of tests that depend on data from previous tests. DepUnit makes it easy to run the same tests over multiple data sets.

Requirement:

Java


djUnit

Description:

djUnit is a JUnit test runner, which generates coverage report and allows virtual mock objects. It integrates with Eclipse and Ant.

Requirement:

Eclipse


Dumbster

Description:

The Dumbster is a very simple fake SMTP server designed for unit and system testing.

Requirement:

Agnostic


EasyMock + ClassExtension

Description:

EasyMock with class extension provides an easy, clean framework for creating mock-objects for classes and interfaces. The expected method calls and desired return values are specified, the code under test is run and then the expected behaviour is verified.

Requirement:

TestNG, JUnit or other java unit testing framework.


EclEmma

Description:

EclEmma is a free Java code coverage tool for Eclipse, available under the Eclipse Public License. Internally it is based on the great EMMA Java code coverage tool, trying to adopt EMMA's philosophy for the Eclipse workbench.

Requirement:

Eclipse


Ejb3unit

Description:

Ejb3Unit - out of container EJB 3.0 testing. Ejb3Unit is a JUnit extention and can execute automated standalone junit tests for all JEE or Ejb3 projects. The out of container approach leads to short build-test-cycles, no container deployment is needed.

Requirement:

OS Independent


Emma

Description:

Open-source toolkit for measuring and reporting Java code coverage

Requirement:

Java


Feed4JUnit

Description:

Feed4JUnit makes it easy to write parameterized tests for the JUnit framework and feed them with predefined or random test data. To improve your testing...

Requirement:

Windows, Mac OSX, Linux, Solaris and all other platforms that support Java 5


Fest

Description:

FEST is an open source library released under the Apache 2.0 license, provides a powerful, yet easy to use API that makes the creation (and maintenance) of functional tests for Swing GUIs simple.

Requirement:

Java


Findbugs

Description:

Findbugs is a static analysis tool to find bugs in Java programs.

Requirement:

JRE (or JDK) 1.4.0 or later


Gretel

Description:

Gretel is a test coverage monitoring tool for Java programs.The current version provides statement coverage monitoring (identifying which lines of Java have been executed, and which have not been touched by testing).

Requirement:

JVM version 1.3 or later; The Byte-Code Engineering Library (BCEL)


GroboUtils

Description:

GroboUtils aims to expand the testing possibilities of Java. It contains many sub-projects which experiment with one aspect of testing through Java. Some projects are present to add shared functionality between the testing sub-projects, while others are remnants from the old purpose of GroboUtils (a collection of useful libraries).

Requirement:

OS Independent


Hansel 1.0

Description:

Hansel is an extension to JUnit that adds code coverage testing to the testing framework.

Requirement:

Java , JUnit and BCEL 5.0


Haste

Description:

High-level Automated System Test Environment, represents an approach to system testing that is philosophically consistent with standard unit and integration XP testing practices.

Requirement:

OS Independent


HibernateMock

Description:

Easy setup for persistence testing. Fancy way to test Criteria and HQL. Full fill the objects tree with dummy values. Generate values according with hibernate-validator annotations. Does not matter if a previous database row exists (or not). Reduces the necessity of cleaning database (the trash should not scare you). Do not care about auto-increment strategy. Easier than traditional xml database fixtures.

Requirement:

JAVA


J2ME Unit Testing Toolkit

Description:

J2MEUnit is a Java 2 Micro Edition (J2ME) library containing a unit testing framework for J2ME applications. It is based on the source code of the original JUnit.

Requirement:

tbc


Jacareto

Description:

Java Capture & Replay Toolkit - Jacareto is a capture&replay framework for Java applications and applets. It allows you to easily create your own capture&replay tools.

Requirement:

JVM 1.3.1 or above


Jailer

Description:

Jailer is a tool for test data exporting. It exports consistent, referentially intact row-sets from relational databases. It also removes obsolete data without violating integrity. It is DBMS agnostic (by using JDBC), platform independent, and generates DbUnit datasets, hierarchically structured XML, and topologically sorted SQL-DML.

Requirement:

Java


JDepend

Description:

JDepend traverses Java class file directories and generates design quality metrics for each Java package. JDepend allows you to automatically measure the quality of a design in terms of its extensibility, reusability, and maintainability to manage package dependencies effectively.

Requirement:

Windows/Unix


JEasyTest

Description:

JEasyTest is an Eclipse IDE plugin created to simplify unit testing of code that is hard to test using standard mock objects frameworks, as for example code using legacy code.

Requirement:

Eclipse 3.3


JellyUnit

Description:

JellyUnit is a Jelly based JUnit testing mechanism. This allows Jelly scripts to be used to perform unit testing which can be particularly useful if you wish to test XML, XPath, SQL, HTTP, JMS or SOAP interactions. JellyUnit works by using the JUnit library in a Jelly script to create JUnit TestSuite and TestCase objects.

Requirement:

see JUnit


Jester

Description:

Jester finds code that is not covered by tests. Jester makes some change to your code, runs your tests, and if the tests pass Jester displays a message saying what it changed. Jester includes a script for generating web pages that show the changes made that did not cause the tests to fail. Jester is different than code coverage tools, because it can find code that is executed by the running of tests but not actually tested. However, Jester is not meant as a replacement for code coverage tools, merely as a complementary approach. Jester is for Java code and JUnit tests. Pester is Jester for Python code and PyUnit tests.

Requirement:

JDK 1.2.2 or above, JUnit 3.2 or above


Jete

Description:

Jete is a Java based system and integration test tool leveraging Junit test cases with Spring framework configurability. System tests are defined as Spring context XML files, and may be invoked via Ant (with junit report functionality).

Requirement:

Java


Jetif

Description:

Framework designed for Unit testing and Function testing for java programing. Unlike the JUnit, Jetif separates test code and data, provides some useful built-in features such as logging, client/server testing support.

Requirement:

Command-line interface


JFCUnit

Description:

An extension to the JUnit framework that enables you to execute unit tests against code that presents a Swing GUI based interface. Recording and playback to/from XML allows novice GUI developers to generate and execute tests.

Requirement:

OS Independent (Written in an interpreted language)


Jiffie

Description:

Java library that allows you to develop tests using a framework such as JUnit to exercise web sites or browser-based applications. The advantage of this over something like the (excellent) HTTPUnit library, is that it allows the tester to exercise client-side features such as JavaScript, in exactly the same way that a real end user would.

Requirement:

Windows


jMock

Description:

jMock is a library for testing Java code using mock objects. The jMock package makes it quick and easy to define mock objects, lets you define flexible constraints over object interactions, and is easy to extend.

Requirement:

Java / JUnit


Jnario

Description:

Jnario is a test framework for Java focusing on the design and documentation aspects of testing. Jnario consists of two domain-specific languages, one for writing readable acceptance specifications, the other for succinct unit specifications. Together they are well suited for behavior driven development (BDD) of Java programs.

Requirement:

Java


JOSIT

Description:

JOSIT (Java Observation Simulation Inspection Toolkit) is an open Application Programmer's Interface for instrumenting applications written in the Java programming language. JOSIT observes user actions, inspects the state of objects and scripts graphical events.

Requirement:

Java 1.3 or later


JsTester

Description:

JsTester allows validation of javaScript code inside Java. It provides a group of assert methods like JUnit Assert, it also supports the validations described in http://javascript.crockford.com/remedial.html, and the ability to use your own validations (unary & binary predicates). The project provides two ways of creating your tests: by inheritance (JsTestCase), and by composition (JsTester). JsTester can be used with JUnit 3.x, JUnit 4.x and TestNG.

Requirement:

Independent


JSystem

Description:

JSystem is a framework for writing and running automated tests, based on JUnit. It's main goal is to support automation of functional / system testing.

Requirement:

Platform independent (Java)


JTestCase

Description:

JTestCase is an open-sourced project that helps you in seperating test data from test code. You can organize all your test cases of multiple unit tests into one data file - an XML file, and bulk-load them into memory via sets of easy-to-use APIs that JTestCase provides. In a word, JTestCase provides a way for java unit tests to be test-case-oriented and full-test-automatable.

Requirement:

JUnit, ANT


Jumble

Description:

Jumble is a Java mutation tool for measuring the effectiveness and coverage of JUnit test suites. It is similar in concept to Jester, but implemented very differently, for effectiveness in large Java projects.

Requirement:

Any Java platform


JUnit

Description:

JUnit is a regression testing framework written by Erich Gamma and Kent Beck. It is used by the developer who implements unit tests in Java.

Requirement:

OS Independent


JUnit-addons

Description:

JUnit-addons is a collection of helper classes for JUnit.

Requirement:

JUnit 3.7 or JUnit 3.8.x


JUnitDoclet

Description:

JUnitDoclet lowers the step toward JUnit. It generates skeletons of TestCases based on your application source code. And it supports you to reorganize tests during refactoring.

Requirement:

JDK 1.3 or above, JUnit 3.7, ANT


JUnitEE

Description:

JUnitEE is a simple extension to JUnit which allows standard test cases to be run from within a J2EE application server. It is composed primarily of a servlet which outputs the test results as html.

Requirement:

JUnit


JUnitPerf

Description:

JUnitPerf is a collection of JUnit test decorators used to measure the performance and scalability of functionality contained within existing JUnit tests.

Requirement:

JUnit


JXUnit

Description:

JXUnit is a directory-driven test scripting system which builds on JUnit.

Requirement:

JUnit


Macker

Description:

Macker is a build-time architectural rule checking utility for Java developers. It's meant to model the architectural ideals programmers always dream up for their projects, and then break -- it helps keep code clean and consistent. You can tailor a rules file to suit a specific project's structure, or write some general "good practice" rules for your code. Macker doesn't try to shove anybody else's rules down your throat; it's flexible, and writing a rules file is part of the development process for each unique project.

Requirement:

JDK 1.3.1 or newer; Ant 1.5 or newer for usage from Ant


Mockito

Description:

Mocking is a framework for unit testing java code. Java mocking is dominated by expect-run-verify libraries like EasyMock or jMock. Mockito offers simpler and more intuitive approach: you ask questions about interactions after execution.

Requirement:

Cross Platform


MockObjects

Description:

Mock Objects is a test-first development process for building object-oriented software and a generic unit testing framework that supports that process. Our first implementation is in Java, largely because that's what we've been working in, but also because it has a stable set of APIs that are suitable for writing Mock Objects.

Requirement:

OS independent


Mockrunner

Description:

Mockrunner is a lightweight framework for unit testing applications in the J2EE environment.

Requirement:

OS Independent


MoMEUnit

Description:

An instance of the xUnit architecture for unit testing of J2ME applications. It is derived from JUnit framework. It is CLDC 1.1 complied. Includes MIDletTestRunner - a fully configurable MIDlet to run tests in emulator or mobile device.

Requirement:

OS Independent


moreUnit

Description:

moreUnit is an eclipse plugin that helps you with your JUnit-Tests. Switch via shortcut from the method under cursor and the corresponding testmethod. Create testmethod stubs for method with one shortcut. See which classes/methods are tested at once ...

Requirement:

Linux, OS X, WinXP


NoUnit

Description:

NoUnit allows you to see how good your JUnit tests are. It generates a report from your code to graphically show you how many of your project's methods are being tested , and how well.

Requirement:

Java, XML


Pisces

Description:

This project aims to provide a distributed testing environment that extends JUnit. Giving the developer/tester an ability to run remote JUnits and create complex test suites that are composed of several remote JUnit tests running in parallel or serially.

Requirement:

OS Independent (Written in an interpreted language)


PMD

Description:

PMD scans Java source code and looks for potential problems. It has plugins for JEdit, JBuilder, Netbeans/Forte/Sun ONE, IntelliJ IDEA, Maven, Ant, Eclipse, Gel, and Emacs.

Requirement:

JDK 1.3 or higher


Quilt

Description:

Quilt is a Java software development tool which measures coverage, the extent to which testing exercises the software under test. It works very well with Ant and JUnit but may also be used in conjunction with other products.

Requirement:

OS Independent


Slim

Description:

Slim is primarily a template engine that attempts to be mostly compatible with JSPs. Of particular interest is that Slim ships with a jar file containing support classes for writing unit tests for JSP files.

Requirement:

Java (1.4 or higher)


Sonar

Description:

Sonar is an open source quality management platform for Java, dedicated to continuously analyze and measure source code quality, from the project portfolio to the class method. Sonar leverages existing best of breed tools like Checkstyle, PMD, Findbugs, Clover, Cobertura and transparently orchestrate all those tools.

Requirement:

Java 5 or later, Maven 2


StrutsTestCase for JUnit v1.9.5

Description:

StrutsTestCase for JUnit is an extension of the standard JUnit TestCase class that provides facilities for testing code based on the Struts framework.

Requirement:

OS Independent


T2

Description:

T2 is a fully automatic random testing tool. T2 checks for internal errors, method specifications, and class invariant. Specifications are written in plain Java. T2 does not check individual methods in isolation; instead T2 generates random executions where methods may interfere with each other, and thus it may discover more subtle errors. Violating executions are saved for re-test (regression). T2 is open source, and free to use under GPL license.

Requirement:

any


TagUnit

Description:

In the same way that JUnit allows us to write unit tests for Java classes, TagUnit allows us to unit test JSP custom tags, inside the container. In essence, TagUnit is a tag library for testing custom tags within JSP pages.

Requirement:

tbc


Testare

Description:

TESTARE is a testing framework that aims to simplify the test development process for distributed enterprise JAVA applications. It tries to achieve this by providing straightforward and easy to use "in container" testing capabilities through the concept of execution scenarios, and providing native support for test environment management and introspection techniques such as fixtures, global fixtures, probes and guards. Its initial focus is on "in ejb container" testing but its extensible architecture intended to make it very easy to develop support for other execution environments such as servlets, JMS listeners, CORBA ORBs or RMI.

Requirement:

Java


TestGen4J

Description:

TestGen4J is an open-source tool for automatically generating and executing Java test cases using JUnit. In addition it provides a data driven test harness and an automatic failed test case management utility.

Requirement:

All platforms, but tested on Linux. Dependencies are JUnit 3.8.1 and J2SDK 1.4.2_08


TestNG

Description:

TestNG is a testing framework inspired from JUnit and NUnit but introducing some new functionalities that make it more powerful and easier to use.

Requirement:

JDK 1.5


UISpec4J

Description:

UISpec4J is an Open Source functional and/or unit testing library for Swing-based Java applications, built on top of the JUnit test harness. UISpec4J's APIs are designed to hide as much as possible the intricacies of Swing, resulting in easy to write and easy to read test scripts - this is especially true when comparing UISpec4J tests with those produced using Swing or low-level, event-based testing libraries.

Requirement:

JUnit


Unitils

Description:

Unitils is an open source library aimed at making unit testing easy and maintainable. It builds further on existing libraries like DBUnit and integrates with JUnit and TestNG. Unitils provides general asserion utilities, support for database testing and automatic database maintenance, support for testing with mock objects and offers integration with Spring, Hibernate and the Java Persistence API (JPA).

Requirement:

Any


XHTMLUnit

Description:

XHTMLUnit builds on JUnit and XMLUnit in order to provide testing and validation of generated XHTML code.

Requirement:

Platform Independent (Java)


XTest

Description:

XTest is general test framework for Java based products tests. XTest consists from set of utilities, templates, sample configurations and recommendations how to build integrated, flexible and easy to use test environment.

Requirement:

Ant. Other dependent tools bundled with install files.


York Extensible Testing Infrastructure (YETI)

Description:

The York Extensible Testing Infrastructure (YETI) aims at providing a tool for automated random testing tools for several programming languages (including Java).

Requirement:

Java


For those projects hosted on SourceForge, the project activity data is updated weekly using live newsfeeds powered by CaRP