22

Testiranje Java EE aplikacija s · Testiranje Java EE aplikacije sloj po sloj (3) •Prednosti →Testiranje aplikacije sloj po sloj →Brže jer se ne pakira cijela aplikacija →Brže

  • Upload
    others

  • View
    16

  • Download
    0

Embed Size (px)

Citation preview

Testiranje Java EE aplikacija s Arquillianom

Rovinj, 11.5.2017 2

Igor Vlahek

[email protected]

Software architect

Testiranje Java EE aplikacija s Arquillianom

3

1. Java EE aplikacije

2. Testiranje Java EE aplikacije

3. Arquillian

4. Arquillian embedded container showcase

5. Arquillian remote container showcase

4

Skup specifikacija

Java EE

5

Java EE aplikacija

ObjectC

ObjectE

ObjectF

ObjectA

ObjectB

Java EE server

Client

JVM

HTTP

Database

6

Testiranje Java EE aplikacije

ObjectC

ObjectE

ObjectF

ObjectA

ObjectB

Java EE server

Test suite

JVM

HTTP

Database

7

Testiranje Java EE aplikacije (2)

8

Prednosti i mane

Testiranje Java EE aplikacije (3)

• Prednosti

→ Testiranje aplikacije u cijelosti

→ Testiranje kako će se aplikacija ponašati na stvarnom serveru

→ Neophodno kod razvijanja EE aplikacija

• Nedostaci

→ Užasno sporo

→ Interna arhitektura može patiti jer nema testiranja sloja po sloj

9

Testiranje Java EE aplikacije sloj po sloj (1)

ObjectC

ObjectE

ObjectF

ObjectA

JVM

Database

Test suite

10

Testiranje Java EE aplikacije sloj po sloj (2)

11

Prednosti i mane

Testiranje Java EE aplikacije sloj po sloj (3)

• Prednosti

→ Testiranje aplikacije sloj po sloj

→ Brže jer se ne pakira cijela aplikacija

→ Brže jer nije potreban deploy aplikacije na Java EE server

• Nedostaci

→ Simuliramo mogućnosti Java EE servera

→ Ne znamo da li će se naša aplikacija tako ponašati kada ju postavimo na Java EE server

→ Simuliranje mogućnosti Java EE servera zahtjeva mnogo dodatnog posla

12

In-container testiranje (1)

ObjectC

ObjectE

ObjectF

ObjectA

Java EE server

Test Case

JVM

Database

13

In-container testiranje (2)

14

Prednosti i mane

In-container testiranje (3)

• Prednosti

→ Testiranje aplikacije sloj po sloj

→ Brže jer se ne pakira cijela aplikacija

→ Testiramo aplikaciju u pravom Java EE containeru

→ Test postaje dio aplikacije, test ima pristup svim Java EE resursima

• Nedostaci

→ Postavljanje testa (pakiranje) zahtjeva ponekad mnogo posla

→ Inicijalno postavljanje u mavenu zna mnogo vremena oduzet

15

„Arquillian is all about testing your code inside a container”

Arquillian testing framework

• Skup biblioteka koji omogućuju izvršavanje testova unutar Jave EE container-a

• Velik skup dostupnih adapter-a prilagođen svakom containeru

• Velik broj extenzija (Jacoco)

• Omogućuje pisanje automatiziranih Junit testova

• Arquillian – container interakcija

→ Embedded containers

→ Managed containers

→ Remote containes

16

Pisanje Java testova

17

Postavljanje Arquillian-a

18

Embedded containers

Način rada

ObjectC

ObjectE

ObjectF

ObjectA

Java EE server

Test Case

JVM

Database

ArquillianTest

Runner

19

https://github.com/ivlahek/JavaCRO2017ArquillianWeld

Showcase embedded containers

20

Managed containers

Način rada

ObjectC

ObjectE

ObjectF

ObjectA

Java EE server

Test Case

JVM

Database

JVM

ArquillianTest

Runner

REST

JMX

21

https://github.com/ivlahek/JavaCRO2017ArquillianWildfly

Showcase managed containers

22