JaxRs Unit

A library for unit testing of JAX-RS application

License

License

GroupId

GroupId

io.github.binout
ArtifactId

ArtifactId

jaxrs-unit
Last Version

Last Version

1.1.1
Release Date

Release Date

Type

Type

pom
Description

Description

JaxRs Unit
A library for unit testing of JAX-RS application
Project URL

Project URL

https://github.com/binout/jaxrs-unit
Source Code Management

Source Code Management

https://github.com/binout/jaxrs-unit

Download jaxrs-unit

Filename Size
jaxrs-unit-1.1.1.pom 2 KB
Browse

How to add to project

<!-- https://jarcasting.com/artifacts/io.github.binout/jaxrs-unit/ -->
<dependency>
    <groupId>io.github.binout</groupId>
    <artifactId>jaxrs-unit</artifactId>
    <version>1.1.1</version>
    <type>pom</type>
</dependency>
// https://jarcasting.com/artifacts/io.github.binout/jaxrs-unit/
implementation 'io.github.binout:jaxrs-unit:1.1.1'
// https://jarcasting.com/artifacts/io.github.binout/jaxrs-unit/
implementation ("io.github.binout:jaxrs-unit:1.1.1")
'io.github.binout:jaxrs-unit:pom:1.1.1'
<dependency org="io.github.binout" name="jaxrs-unit" rev="1.1.1">
  <artifact name="jaxrs-unit" type="pom" />
</dependency>
@Grapes(
@Grab(group='io.github.binout', module='jaxrs-unit', version='1.1.1')
)
libraryDependencies += "io.github.binout" % "jaxrs-unit" % "1.1.1"
[io.github.binout/jaxrs-unit "1.1.1"]

Dependencies

There are no dependencies for this project. It is a standalone project that does not depend on any other jars.

Project Modules

  • jaxrs-unit-api
  • jaxrs-unit-tck
  • jaxrs-unit-resteasy
  • jaxrs-unit-jersey

jaxrs-unit

A library for unit testing of JAX-RS application.

Description

The goal is to write unit tests without a real JavaEE server. But tests use real JAX-RS implementation (Jersey or RestEasy) with in-memory containers.

JaxRS Unit provides an API to encapsulate the specific im-memory containers.

Build status

Build Status

Environment

  • java-1.8

Build

mvn clean verify

Usage

Maven

You have to add api dependency :

<dependency>
    <groupId>io.github.binout</groupId>
    <artifactId>jaxrs-unit-api</artifactId>
    <version>${version}</version>
    <scope>test</scope>
</dependency>

You have to choose an implementation :

  • RestEasy

<dependency>
    <groupId>io.github.binout</groupId>
    <artifactId>jaxrs-unit-resteasy</artifactId>
    <version>${version}</version>
    <scope>test</scope>
</dependency>
  • Jersey

<dependency>
    <groupId>io.github.binout</groupId>
    <artifactId>jaxrs-unit-jersey</artifactId>
    <version>${version}</version>
    <scope>test</scope>
</dependency>

Hello World

Considering a JAX-RS resource :

@Path("/hello")
public class HelloResource {
    @GET
    public String hello() {
        return "hello";
    }
}

You can write a unit test like this :

public class HelloTest {
    private JaxrsServer server;

    @Before
    public void init() {
        server = JaxrsUnit.newServer(HelloResource.class);
    }

    @Test
    public void should_return_hello() {
        JaxrsResource resource = server.resource("/hello");

        JaxrsResponse response = resource.get();

        assertThat(response.ok()).isTrue();
        assertThat(response.content()).isEqualTo("hello");
    }
}

TODO

  • resource injection

Versions

Version
1.1.1
1.1.0