Details
-
Type:
Feature Request
-
Status: Coding In Progress (View Workflow)
-
Priority:
Major
-
Resolution: Unresolved
-
Affects Version/s: 1.0.0.Alpha4
-
Fix Version/s: 2.0.0.Beta1
-
Component/s: Configuration
-
Labels:None
-
Estimated Difficulty:Medium
Description
Allow the developer to declaratively specify the execution environment required for a given test to function. Then, Arquillian should filter out tests that require an execution environment that the target container doesn't provide. (In other words, only execute a test case if the target container provides the execution environment the test requires).
To support this feature, we need to introduce the concept of an execution environment definition into the API and a mechanism for indicating which containers provide a given execution environment. The developer experience will be something like:
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.TYPE)
@RequiresEnvironment(JavaEE6Environment.class)
public @interface RequiresJavaEE6 {}
@RunWith(Arquillian.class)
@RequiresJavaEE6
public class MyTestCase
or
@RunWith(Arquillian.class)
@RequiresEnvironment(JavaEE6Environment.class)
public class MyTestCase { ... }
Formal proposals and prototypes will be submitted as branches in github.
Gliffy Diagrams
Issue Links
- relates to
-
ARQ-905
Provide SPI for filtering tests
-
- Open
-
Tracking branches:
proposal A: http://github.com/mojavelinux/arquillian/tree/ARQ-287-proposalA
proposal B: http://github.com/mojavelinux/arquillian/tree/ARQ-287-proposalB