OSI Approved

T2 Released

T2 is a fully automatic trace-based random testing tool for Java, and is now available in a full version! T2 is powerful; it can check e.g. internal errors, method specifications, and class invariant. It is also very versatile, allowing models and specifications to be written in plain Java. It is fast; able to inject thousands of tests in less than a second!

Infinitest

Infinitest is a continuous JUnit test runner designed to facilitate Test Driven Development. Infinitest helps you learn TDD by providing feedback as you work, and helps you master TDD by reducing your feedback cycle from minutes to mere seconds.

Whenever you change a class, Infinitest runs your tests for you. If any errors occur, it reports them clearly and concisely. This gives you instant feedback about the semantic correctness of your code, just as modern IDE's give you instant feedback about syntax errors.

Learn more at Infinitest.org

SevenMock Class Extension

SevenMock v1.1 has now been released. The distribution archive is available on SourceForge at:
http://downloads.sourceforge.net/seven-mock

The major addition to be found in this version is a class extension sub-project, which allows the generated mock objects to be cast directly to classes as well as the interfaces that they implement.

JUnit PDF Report

Publish your JUnit test report in pdf format. Plug and Play integration with Ant.
If you have an Ant script that generates HTML reports, just plug in a task with the same settings as the standard JUnitReport.

homepage: http://junitpdfreport.sourceforge.net/

quickstart: http://junitpdfreport.sourceforge.net/managedcontent/GettingStarted

Mockito

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. Using mockito, you can verify what you want. Using expect-run-verify libraries you often look after irrelevant interactions.

Mockito has similar syntax to EasyMock, therefore you can refactor safely. Mockito doesn't understand the notion of 'expectation'. There is only stubbing or verifications.

Read more: http://mockito.googlecode.com

Dependent Object Framework

The Dependent Object Framework (DOF) (http://sourceforge.net/projects/dof/) enables efficient JUnit testing and Test Driven Development against code that depends on objects that are persisted (e.g., database). This code was originally developed to add JUnit tests that used the real database code rather than trying to mock out all the dependencies in a large commercial enterprise product, IBM’s WebSphere Product Center.

Unitils

Unitils is an open source library aimed at making unit testing easy and maintainable. Unitils builds further on existing libraries like DBUnit and EasyMock and integrates with JUnit and TestNG.

SevenMock

SevenMock is a light-weight Java dynamic mock objects implementation.

It works in a similar way to EasyMock and jMock, but is unusual in that it places responsibility for verifying operation parameters directly on the unit test code by use of expectation call-backs. This enables the test designer to write very clear, precisely targeted tests and makes test failures easier to diagnose - any stacktrace produced will point directly back to test code rather than framework code.

MockFtpServer

The MockFtpServer (http://mockftpserver.sourceforge.net/) project provides a mock/dummy FTP server implementation that is very useful for testing of FTP client code. It can be configured to return custom data or reply codes, to simulate either success or failure scenarios. Expected command invocations can also be verified.

MockFtpServer is written in Java, and is ideally suited to testing Java code. But because communication with the FTP server is across the network using sockets, it can be used to test FTP client code written in any language.

See http://mockftpserver.sourceforge.net/.

Architecture-Rules

Introduction

http://architecturerules.googlecode.com/svn/docs/index.html

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.

However, in my experience has been that JDepend configuration and execution are difficult to maintain and difficult to get a quick overview of once a have defined a handful of rules.

Syndicate content