14. Support for..
Eclipse Equinox
Toni Menzel, toni@okidokiteam.com, Twitter: tonit
15. Pax Exam’s Option API
Toni Menzel, toni@okidokiteam.com, Twitter: tonit
16. Pax Exam’s Option API
Leveraging Java5 static imports for fluent
API
Toni Menzel, toni@okidokiteam.com, Twitter: tonit
17. Pax Exam’s Option API
Leveraging Java5 static imports for fluent
API
Built on cascading
org.ops4j.pax.exam.Option types
Toni Menzel, toni@okidokiteam.com, Twitter: tonit
18. Pax Exam’s Option API
Leveraging Java5 static imports for fluent
API
Built on cascading
org.ops4j.pax.exam.Option types
(future note: maybe scala is a good
successor for implementing this)
Toni Menzel, toni@okidokiteam.com, Twitter: tonit
19. Pax Exam’s Option API
Leveraging Java5 static imports for fluent
API
Built on cascading
org.ops4j.pax.exam.Option types
(future note: maybe scala is a good
successor for implementing this)
Toni Menzel, toni@okidokiteam.com, Twitter: tonit
20. Pax Exam at version 1.x
Toni Menzel, toni@okidokiteam.com, Twitter: tonit
21. Pax Exam at version 1.x
Rich API on top of Pax Runner
Toni Menzel, toni@okidokiteam.com, Twitter: tonit
22. Pax Exam at version 1.x
Rich API on top of Pax Runner
Driven by JUnit4
Toni Menzel, toni@okidokiteam.com, Twitter: tonit
23. Pax Exam at version 1.x
Rich API on top of Pax Runner
Driven by JUnit4
In-Container Testing
Toni Menzel, toni@okidokiteam.com, Twitter: tonit
24. Pax Exam at version 1.x
Rich API on top of Pax Runner
Driven by JUnit4
In-Container Testing
Isolated container sessions (consistency
over speed)
Toni Menzel, toni@okidokiteam.com, Twitter: tonit
25. Pax Exam at version 1.x
Rich API on top of Pax Runner
Driven by JUnit4
In-Container Testing
Isolated container sessions (consistency
over speed)
Integrates very well into different build
environments: IDEs, Maven, ANT, etc..
Toni Menzel, toni@okidokiteam.com, Twitter: tonit
26. Pax Exam 2.0 Theme
Pax Exam 2
is a Platform for OSGi Testing
Toni Menzel, toni@okidokiteam.com, Twitter: tonit
28. Pax Exam 2.0 Goal (2)
More power to the developer
Toni Menzel, toni@okidokiteam.com, Twitter: tonit
29. Pax Exam 2.0 Goal (2)
More power to the developer
Embrace OSGi capabilities
Toni Menzel, toni@okidokiteam.com, Twitter: tonit
30. Pax Exam 2.0 Goal (2)
More power to the developer
Embrace OSGi capabilities
Help you to deliver
Toni Menzel, toni@okidokiteam.com, Twitter: tonit
31. Pax Exam 2.0 Goal (2)
More power to the developer
Embrace OSGi capabilities
Help you to deliver
Toni Menzel, toni@okidokiteam.com, Twitter: tonit
36. New: Out-of Container (2)
Very core of Pax Exam (SPI Layer)
Toni Menzel, toni@okidokiteam.com, Twitter: tonit
37. New: Out-of Container (2)
Very core of Pax Exam (SPI Layer)
Uses this internally for the In-Container
mode
Toni Menzel, toni@okidokiteam.com, Twitter: tonit
38. New: Out-of Container (2)
Very core of Pax Exam (SPI Layer)
Uses this internally for the In-Container
mode
Allows to fully control the container
lifecycle
Toni Menzel, toni@okidokiteam.com, Twitter: tonit
39. New: Out-of Container (2)
Very core of Pax Exam (SPI Layer)
Uses this internally for the In-Container
mode
Allows to fully control the container
lifecycle
Usually you will use this to extend Pax
Exam’s User Interfaces
Toni Menzel, toni@okidokiteam.com, Twitter: tonit
41. New: Probe Builder
Probe contains your test code
Toni Menzel, toni@okidokiteam.com, Twitter: tonit
42. New: Probe Builder
Probe contains your test code
Usually built under the hood automatically
Toni Menzel, toni@okidokiteam.com, Twitter: tonit
43. New: Probe Builder
Probe contains your test code
Usually built under the hood automatically
Sometimes you want to hand-roll them to
support your case
Toni Menzel, toni@okidokiteam.com, Twitter: tonit
44. New: Probe Builder
Probe contains your test code
Usually built under the hood automatically
Sometimes you want to hand-roll them to
support your case
Extender Pattern
Toni Menzel, toni@okidokiteam.com, Twitter: tonit
45. New: Probe Builder
Probe contains your test code
Usually built under the hood automatically
Sometimes you want to hand-roll them to
support your case
Extender Pattern
Service:
org.ops4j.pax.exam.raw.extender.ProbeInvoker
Toni Menzel, toni@okidokiteam.com, Twitter: tonit
54. New: Native Container
Works with OSGi Core 4.2 spec fw
Toni Menzel, toni@okidokiteam.com, Twitter: tonit
55. New: Native Container
Works with OSGi Core 4.2 spec fw
Spec 4.2 Launch API and Discovery
Toni Menzel, toni@okidokiteam.com, Twitter: tonit
56. New: Native Container
Works with OSGi Core 4.2 spec fw
Spec 4.2 Launch API and Discovery
Pro
Toni Menzel, toni@okidokiteam.com, Twitter: tonit
57. New: Native Container
Works with OSGi Core 4.2 spec fw
Spec 4.2 Launch API and Discovery
Pro
no extra VM: fast
Toni Menzel, toni@okidokiteam.com, Twitter: tonit
58. New: Native Container
Works with OSGi Core 4.2 spec fw
Spec 4.2 Launch API and Discovery
Pro
no extra VM: fast
Cons
Toni Menzel, toni@okidokiteam.com, Twitter: tonit
59. New: Native Container
Works with OSGi Core 4.2 spec fw
Spec 4.2 Launch API and Discovery
Pro
no extra VM: fast
Cons
Not all options available
Toni Menzel, toni@okidokiteam.com, Twitter: tonit
61. New: Remote Target
Target is a subset of a container
Toni Menzel, toni@okidokiteam.com, Twitter: tonit
62. New: Remote Target
Target is a subset of a container
Lets you connect with a running instance
Toni Menzel, toni@okidokiteam.com, Twitter: tonit
63. New: Remote Target
Target is a subset of a container
Lets you connect with a running instance
Uses RMI under the hood
Toni Menzel, toni@okidokiteam.com, Twitter: tonit
64. New: Remote Target
Target is a subset of a container
Lets you connect with a running instance
Uses RMI under the hood
Good for
Toni Menzel, toni@okidokiteam.com, Twitter: tonit
65. New: Remote Target
Target is a subset of a container
Lets you connect with a running instance
Uses RMI under the hood
Good for
on device testing
Toni Menzel, toni@okidokiteam.com, Twitter: tonit
66. New: Remote Target
Target is a subset of a container
Lets you connect with a running instance
Uses RMI under the hood
Good for
on device testing
interactive development
Toni Menzel, toni@okidokiteam.com, Twitter: tonit
67. New: Remote Target
Target is a subset of a container
Lets you connect with a running instance
Uses RMI under the hood
Good for
on device testing
interactive development
Mixed Architecture
Toni Menzel, toni@okidokiteam.com, Twitter: tonit
80. Apache ACE in a nutshell
Toni Menzel, toni@okidokiteam.com, Twitter: tonit
81. Apache ACE in a nutshell
DeploymentPackages & DeploymentAdmin
on steroids
Toni Menzel, toni@okidokiteam.com, Twitter: tonit
82. Apache ACE in a nutshell
DeploymentPackages & DeploymentAdmin
on steroids
atomic deployment
Toni Menzel, toni@okidokiteam.com, Twitter: tonit
83. Apache ACE in a nutshell
DeploymentPackages & DeploymentAdmin
on steroids
atomic deployment
automatic rollback
Toni Menzel, toni@okidokiteam.com, Twitter: tonit
84. Apache ACE in a nutshell
DeploymentPackages & DeploymentAdmin
on steroids
atomic deployment
automatic rollback
strong versioning support
Toni Menzel, toni@okidokiteam.com, Twitter: tonit
85. Apache ACE in a nutshell
DeploymentPackages & DeploymentAdmin
on steroids
atomic deployment
automatic rollback
strong versioning support
repository concepts: checkout/commit
Toni Menzel, toni@okidokiteam.com, Twitter: tonit
86. New: ACE Target (2)
Toni Menzel, toni@okidokiteam.com, Twitter: tonit
87. New: ACE Target (2)
Pax Exam acts as an ACE Client
Toni Menzel, toni@okidokiteam.com, Twitter: tonit
88. New: ACE Target (2)
Pax Exam acts as an ACE Client
Similar to Remote Target, but speaking ACE
Toni Menzel, toni@okidokiteam.com, Twitter: tonit
89. New: ACE Target (2)
Pax Exam acts as an ACE Client
Similar to Remote Target, but speaking ACE
Good for
Toni Menzel, toni@okidokiteam.com, Twitter: tonit
90. New: ACE Target (2)
Pax Exam acts as an ACE Client
Similar to Remote Target, but speaking ACE
Good for
cloud like testing
Toni Menzel, toni@okidokiteam.com, Twitter: tonit
91. New: ACE Target (2)
Pax Exam acts as an ACE Client
Similar to Remote Target, but speaking ACE
Good for
cloud like testing
target
provisioning management
Pax Exam network network
server agent
target
management
agent
Toni Menzel, toni@okidokiteam.com, Twitter: tonit
92. Compared
Pax Drone Pax Exam 1.x Pax Exam 2
Fluent Option API n.a. yes yes
Test Containers 1 1 4
Test Targets 0 0 2
In-Container Testing yes yes yes
Out-Of Container Testing n.a. n.a. yes
Container Workflow n.a. n.a. yes
Custom Test Probes n.a. n.a. yes
JUnit3 Support yes n.a. yes
JUnit4 Support n.a. yes yes
TestNG Support n.a. n.a. yes
Good probably better much better
Toni Menzel, toni@okidokiteam.com, Twitter: tonit
93. Where?
http://github.com/okidokiteam/exxam
http://paxexam.ops4j.org
Toni Menzel, toni@okidokiteam.com, Twitter: tonit 33