Skip to content
Go to file

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Build Status Maven Central

Need(le) for Speed - Effective Unit Testing for Java EE


Needle4j is a lightweight framework for testing Java EE components outside of the container in isolation. It reduces the test setup code by analysing dependencies and automatic injection of mock objects. It will thus maximize the speed of development as well as the execution of unit tests.

Needle Coffee Cups

Core Features:

  • Instantiation of @ObjectUnderTest Components

  • Constructor, Method and Field based dependency injection

  • Injection of Mock objects by default

  • Extensible by providing custom injection providers

  • Wiring of object graphs

  • Database testing via JPA Provider, e.g. EclipseLink or Hibernate

  • EntityManager creation and injection

  • Execute optional database operations during test setup and tear down

  • Transaction Utilities

  • Provide Utilities for Reflection, e.g. for private method invocation or field access

  • Needle can be used with JUnit or TestNG.

  • It supports EasyMock and Mockito out-of-the-box.

Getting started

Add the following dependencies to your pom.xml file to get started using Needle:


(plus junit, mockito, ...)

Implementing your first Needle Test:

public class UserDaoTest {

    public DatabaseRule databaseRule = new DatabaseRule();

    public NeedleRule needleRule = new NeedleRule(databaseRule);

    private UserDao userDao;

    public void testFindByUsername() throws Exception {
        final User user = new UserTestdataBuilder(

        User userFromDb =
            userDao.findBy(user.getUsername(), user.getPassword());

        Assert.assertEquals(user.getId(), userFromDb.getId());

For the documentation and more examples please refer to the maven site.


Needle is licensed under GNU Lesser General Public License (LGPL) version 2.1 or later.

Needle URLs

<script type="text/javascript" src=""> </script>

Release Nodes

Version 2.2 -

Previous Versions -


Effective Unit Testing for Java EE




No packages published


You can’t perform that action at this time.