Functional testing Java-EE applications
Java Other
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
builder
common
core-spi
core
cucumber-all Support for @ResourceDef Aug 7, 2017
cucumber
easymock
eclipselink
flyway Reworked mocking Aug 10, 2017
gradle/wrapper
h2
hibernate
jms
junit4-all
junit4
junit5-all
junit5
liquibase
mockito
postgres
rest Added websocket support to testeefi-rest Sep 13, 2017
scripts
usageTests
util-mockingbase
util-nopostconstruct Disabling interceptor bindings on mocks Sep 7, 2017
util-resourcedef
.gitignore
Jenkinsfile
LICENSE
README.md
build.gradle
changelog.txt
gradlew
gradlew.bat
settings.gradle
version.txt

README.md

TestEE.fi

TestEE.fi (as in "testify") is a lightweight functional testing framework for Java-EE applications.

By conveniently integrating a fully blown CDI implentation (TestEE.fi internally uses Weld, the CDI reference implementation) with much loved mocking frameworks like Mockito and EasyMock and proven database setup tools like Flyway and Liquibase it offers a natural way to write tests for your Java-EE application the same way you write your unit tests. And by integrating with test-runtimes like JUnit 4 & 5 or Cucumber JVM it allows you to run your tests directly from your preferred IDE and build tool - at speeds very close to unit-level testing.

Getting started

Getting started with TestEE.fi is really easy. First you need to add TestEE.fi to your project’s dependencies. In Maven this looks like the following snippet:

<dependencies>
    <dependency>
        <groupId>fi.testee</groupId>
        <artifactId>testeefi-junit4-all</artifactId>
        <version>0.6.1</version>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>ch.qos.logback</groupId>
        <artifactId>logback-classic</artifactId>
        <version>1.1.7</version>
        <scope>test</scope>
    </dependency>
</dependencies>

If you’re using Gradle, the snippet would look like this:

repositories {
    mavenCentral()
}
dependencies {
	testCompile 'fi.testee:testeefi-junit4-all:0.6.1'
	testCompile 'ch.qos.logback:logback-classic:1.1.7'
}

All you need to do now is to annotate your JUnit 4 test case like this:

@RunWith(TestEEfi.class)
public class MyTest {
	@Mock
	private ExternalSystemBean externalSystem;
	@Inject
	private FacadeBean facadeToTest;
	
	@Test
	public void runTest() {
		// Your test code
	}
}

Introduction and tutorials

The series of blog articles "Functional testing Java-EE applications with TestEE.fi" serves the purpose of introductory tutorials very well:

Example projects

There's also a number of example projects based on a Gradle build that demonstrate the usage of TestEE.fi. You can find them in a separate repository.