Arquillian 소개
Transcript of Arquillian 소개
![Page 1: Arquillian 소개](https://reader031.fdocument.pub/reader031/viewer/2022031903/55af5b581a28ab77728b4620/html5/thumbnails/1.jpg)
테스트����������� ������������������ 어디까지����������� ������������������ 해봤니?
arquillian을����������� ������������������ 이용한����������� ������������������ Real����������� ������������������ Objects����������� ������������������ 테스트
전성욱����������� ������������������ ([email protected])����������� ������������������
![Page 2: Arquillian 소개](https://reader031.fdocument.pub/reader031/viewer/2022031903/55af5b581a28ab77728b4620/html5/thumbnails/2.jpg)
Who����������� ������������������ am����������� ������������������ I
l SAP����������� ������������������ hybris����������� ������������������ 컨설턴트����������� ������������������
l RHQ����������� ������������������ UI����������� ������������������ 한글화����������� ������������������ -����������� ������������������ Contributor
2
![Page 3: Arquillian 소개](https://reader031.fdocument.pub/reader031/viewer/2022031903/55af5b581a28ab77728b4620/html5/thumbnails/3.jpg)
3
No tests ➡️ ➡️ #fail
![Page 4: Arquillian 소개](https://reader031.fdocument.pub/reader031/viewer/2022031903/55af5b581a28ab77728b4620/html5/thumbnails/4.jpg)
Unit����������� ������������������ vs����������� ������������������ Integration����������� ������������������ Tests
l Unit����������� ������������������
– Fine-grained����������� ������������������
– Simple����������� ������������������
– Single����������� ������������������ API����������� ������������������ Call����������� ������������������
– Fast,����������� ������������������ fast,����������� ������������������ fast����������� ������������������
– Easily����������� ������������������ run����������� ������������������ in����������� ������������������ an����������� ������������������ IDE
4
l Integration����������� ������������������
– Coarse-grained����������� ������������������
– Complex����������� ������������������
– Component����������� ������������������ interactions����������� ������������������
– Sloooooooooow����������� ������������������
– Run����������� ������������������ in����������� ������������������ an����������� ������������������ IDE?����������� ������������������ How?
![Page 5: Arquillian 소개](https://reader031.fdocument.pub/reader031/viewer/2022031903/55af5b581a28ab77728b4620/html5/thumbnails/5.jpg)
5
![Page 6: Arquillian 소개](https://reader031.fdocument.pub/reader031/viewer/2022031903/55af5b581a28ab77728b4620/html5/thumbnails/6.jpg)
What if integration testing could be...? l as����������� ������������������ easy����������� ������������������ as����������� ������������������ writing����������� ������������������ a����������� ������������������ unit����������� ������������������ test����������� ������������������
l run����������� ������������������ in����������� ������������������ the����������� ������������������ IDE����������� ������������������ (incremental����������� ������������������ builds,����������� ������������������ debugging,����������� ������������������ etc)����������� ������������������
l ramped����������� ������������������ up����������� ������������������ in����������� ������������������ phases����������� ������������������
l portable
6
![Page 7: Arquillian 소개](https://reader031.fdocument.pub/reader031/viewer/2022031903/55af5b581a28ab77728b4620/html5/thumbnails/7.jpg)
Component models make life easier
7
l Component����������� ������������������ – Follows����������� ������������������ standard����������� ������������������ programming����������� ������������������ model����������� ������������������
– Encapsulates����������� ������������������ business����������� ������������������ logic����������� ������������������
– Packaged����������� ������������������ in����������� ������������������ deployable����������� ������������������ archive����������� ������������������
l Container����������� ������������������ – Host����������� ������������������ process����������� ������������������ for����������� ������������������ deployed����������� ������������������ applications����������� ������������������
– Provides����������� ������������������ services����������� ������������������ and����������� ������������������ a����������� ������������������ runtime����������� ������������������ for����������� ������������������ components����������� ������������������
– Gives����������� ������������������ you����������� ������������������ powerful����������� ������������������ mechanisms����������� ������������������ for����������� ������������������ free
![Page 8: Arquillian 소개](https://reader031.fdocument.pub/reader031/viewer/2022031903/55af5b581a28ab77728b4620/html5/thumbnails/8.jpg)
What����������� ������������������ is����������� ������������������ Arquillian?
8
![Page 9: Arquillian 소개](https://reader031.fdocument.pub/reader031/viewer/2022031903/55af5b581a28ab77728b4620/html5/thumbnails/9.jpg)
A component model for your tests
![Page 10: Arquillian 소개](https://reader031.fdocument.pub/reader031/viewer/2022031903/55af5b581a28ab77728b4620/html5/thumbnails/10.jpg)
10
![Page 11: Arquillian 소개](https://reader031.fdocument.pub/reader031/viewer/2022031903/55af5b581a28ab77728b4620/html5/thumbnails/11.jpg)
Arquillian����������� ������������������ architecture
11
![Page 12: Arquillian 소개](https://reader031.fdocument.pub/reader031/viewer/2022031903/55af5b581a28ab77728b4620/html5/thumbnails/12.jpg)
ShrinkWrap
12
![Page 13: Arquillian 소개](https://reader031.fdocument.pub/reader031/viewer/2022031903/55af5b581a28ab77728b4620/html5/thumbnails/13.jpg)
Benefits����������� ������������������ of����������� ������������������ ShrinkWrap
l Incremental����������� ������������������ IDE����������� ������������������ compilation����������� ������������������ – Save����������� ������������������ and����������� ������������������ re-run����������� ������������������
– Skip����������� ������������������ the����������� ������������������ build!����������� ������������������
l Simple,����������� ������������������ fluent����������� ������������������ API����������� ������������������
l Container����������� ������������������ deployment����������� ������������������ adapters����������� ������������������
l Micro����������� ������������������ deployments����������� ������������������
l Export����������� ������������������ and����������� ������������������ debugging
13
![Page 14: Arquillian 소개](https://reader031.fdocument.pub/reader031/viewer/2022031903/55af5b581a28ab77728b4620/html5/thumbnails/14.jpg)
Fluent����������� ������������������ archive����������� ������������������ creation
14
![Page 15: Arquillian 소개](https://reader031.fdocument.pub/reader031/viewer/2022031903/55af5b581a28ab77728b4620/html5/thumbnails/15.jpg)
Test����������� ������������������ Runners
15
![Page 16: Arquillian 소개](https://reader031.fdocument.pub/reader031/viewer/2022031903/55af5b581a28ab77728b4620/html5/thumbnails/16.jpg)
Containers
l remote����������� ������������������ container����������� ������������������
l embedded����������� ������������������ container����������� ������������������
l managed����������� ������������������ container����������� ������������������
l https://docs.jboss.org/author/display/ARQ/Container+adapters
16
![Page 17: Arquillian 소개](https://reader031.fdocument.pub/reader031/viewer/2022031903/55af5b581a28ab77728b4620/html5/thumbnails/17.jpg)
Arquillian
17
![Page 18: Arquillian 소개](https://reader031.fdocument.pub/reader031/viewer/2022031903/55af5b581a28ab77728b4620/html5/thumbnails/18.jpg)
Example
![Page 19: Arquillian 소개](https://reader031.fdocument.pub/reader031/viewer/2022031903/55af5b581a28ab77728b4620/html5/thumbnails/19.jpg)
component
19
![Page 20: Arquillian 소개](https://reader031.fdocument.pub/reader031/viewer/2022031903/55af5b581a28ab77728b4620/html5/thumbnails/20.jpg)
Unit����������� ������������������ test����������� ������������������ class
20
![Page 21: Arquillian 소개](https://reader031.fdocument.pub/reader031/viewer/2022031903/55af5b581a28ab77728b4620/html5/thumbnails/21.jpg)
Arquillian����������� ������������������ test����������� ������������������ class
21
![Page 22: Arquillian 소개](https://reader031.fdocument.pub/reader031/viewer/2022031903/55af5b581a28ab77728b4620/html5/thumbnails/22.jpg)
22
![Page 23: Arquillian 소개](https://reader031.fdocument.pub/reader031/viewer/2022031903/55af5b581a28ab77728b4620/html5/thumbnails/23.jpg)
How����������� ������������������ does����������� ������������������ this����������� ������������������ all����������� ������������������ works?
![Page 24: Arquillian 소개](https://reader031.fdocument.pub/reader031/viewer/2022031903/55af5b581a28ab77728b4620/html5/thumbnails/24.jpg)
Setup
Maven,����������� ������������������ Gradle,����������� ������������������ Ant(+Ivy)
![Page 25: Arquillian 소개](https://reader031.fdocument.pub/reader031/viewer/2022031903/55af5b581a28ab77728b4620/html5/thumbnails/25.jpg)
25
![Page 26: Arquillian 소개](https://reader031.fdocument.pub/reader031/viewer/2022031903/55af5b581a28ab77728b4620/html5/thumbnails/26.jpg)
26
![Page 27: Arquillian 소개](https://reader031.fdocument.pub/reader031/viewer/2022031903/55af5b581a28ab77728b4620/html5/thumbnails/27.jpg)
27
![Page 28: Arquillian 소개](https://reader031.fdocument.pub/reader031/viewer/2022031903/55af5b581a28ab77728b4620/html5/thumbnails/28.jpg)
28
![Page 29: Arquillian 소개](https://reader031.fdocument.pub/reader031/viewer/2022031903/55af5b581a28ab77728b4620/html5/thumbnails/29.jpg)
29
![Page 30: Arquillian 소개](https://reader031.fdocument.pub/reader031/viewer/2022031903/55af5b581a28ab77728b4620/html5/thumbnails/30.jpg)
30
![Page 31: Arquillian 소개](https://reader031.fdocument.pub/reader031/viewer/2022031903/55af5b581a28ab77728b4620/html5/thumbnails/31.jpg)
31
![Page 32: Arquillian 소개](https://reader031.fdocument.pub/reader031/viewer/2022031903/55af5b581a28ab77728b4620/html5/thumbnails/32.jpg)
32
![Page 33: Arquillian 소개](https://reader031.fdocument.pub/reader031/viewer/2022031903/55af5b581a28ab77728b4620/html5/thumbnails/33.jpg)
33
![Page 34: Arquillian 소개](https://reader031.fdocument.pub/reader031/viewer/2022031903/55af5b581a28ab77728b4620/html5/thumbnails/34.jpg)
34
![Page 35: Arquillian 소개](https://reader031.fdocument.pub/reader031/viewer/2022031903/55af5b581a28ab77728b4620/html5/thumbnails/35.jpg)
An in-container approach to integration testing
l Start����������� ������������������ or����������� ������������������ connect����������� ������������������ to����������� ������������������ a����������� ������������������ container����������� ������������������
l Package����������� ������������������ and����������� ������������������ deploy����������� ������������������ test����������� ������������������ case����������� ������������������ to����������� ������������������ container����������� ������������������
l Run����������� ������������������ test����������� ������������������ in-container����������� ������������������
l Capture����������� ������������������ and����������� ������������������ report����������� ������������������ results����������� ������������������
l Undeploy����������� ������������������ test����������� ������������������ archive
35
![Page 36: Arquillian 소개](https://reader031.fdocument.pub/reader031/viewer/2022031903/55af5b581a28ab77728b4620/html5/thumbnails/36.jpg)
Demo
![Page 37: Arquillian 소개](https://reader031.fdocument.pub/reader031/viewer/2022031903/55af5b581a28ab77728b4620/html5/thumbnails/37.jpg)
Pros����������� ������������������ and����������� ������������������ Cons
l Pros����������� ������������������ – Flexible����������� ������������������
– Portable����������� ������������������
– Opensource����������� ������������������
– Handy����������� ������������������ even����������� ������������������ for����������� ������������������ tests����������� ������������������
l Cons����������� ������������������ – Maven����������� ������������������ hell����������� ������������������
– one����������� ������������������ test����������� ������������������ class����������� ������������������ per����������� ������������������ @Deployment����������� ������������������
– too����������� ������������������ much����������� ������������������ capableties����������� ������������������ —―����������� ������������������ bit����������� ������������������ large����������� ������������������ learning����������� ������������������ curve
37
![Page 38: Arquillian 소개](https://reader031.fdocument.pub/reader031/viewer/2022031903/55af5b581a28ab77728b4620/html5/thumbnails/38.jpg)
Q����������� ������������������ &����������� ������������������ A
![Page 39: Arquillian 소개](https://reader031.fdocument.pub/reader031/viewer/2022031903/55af5b581a28ab77728b4620/html5/thumbnails/39.jpg)
감사합니다
![Page 40: Arquillian 소개](https://reader031.fdocument.pub/reader031/viewer/2022031903/55af5b581a28ab77728b4620/html5/thumbnails/40.jpg)
JBoss����������� ������������������ Community����������� ������������������ (http://www.jboss.org)����������� ������������������ Korea����������� ������������������ JBoss����������� ������������������ User����������� ������������������ Group����������� ������������������ Facebook����������� ������������������ ����������� ������������������
(https://www.facebook.com/groups/jbossusergroup/)
40