1. 2015-10-20 - Test depths within Java EE; Tags: Test depths within Java EE

    Test depths within Java EE

    TDD and BDD is a crucial discipline to write good and robust applications. Testing within the Java EE may cover several test depths. This post is only a short overview of possible involved products.

    Testing - test depth Local Testing

    • In the local testing part or Java SE Testing, we test against a single class.
    • Therefore the test execution is fast.
    • Preferred tools are JUnit (or TestNG), Mocking frameworks like Mockito

    Multi-Unit Testing

    • This test stage test against a service or a dedicated environment like CDI provider or JPA DB
    • For CDI tests: CDI-Unit, Apache DeltaSpike
    • Tests in CDI involves correct setup and wiring
    • For JPA tests: Testing against in-memory databases
    • Tests in JPA involves proper setup and logical queries correctness
    • since tests are executed against an environment, they need more time to be executed

    Integration Testing

    • In this test stage, you may test the component, subsystem or the whole application
    • Arquilian allows in-container testing with JBoss and other Java EE vendors
    • Apache OpenEJB can be used to start test against the whole Java EE Stack
    • Since you are testing against a defined target environment, it takes more time to test.