[
https://jira.jboss.org/browse/ARQ-287?page=com.atlassian.jira.plugin.syst...
]
Aslak Knutsen edited comment on ARQ-287 at 9/12/10 12:24 PM:
-------------------------------------------------------------
Both proposals are based on @ProvidedBy which is a hard coding of package name expressions
for the given Containers. This approach does not scale at all. If at all, this should be
moved down to the Container.
But then the issues becomes, who am i(the container dev) to force no support for CDI in
JBoss 5. Someone might have hacked it up.. The users knowns better then we do what the
containers he is running against supports.
This approach also makes the api 'dependent' on technology related terms like EJB,
EE, CDI, etc.. (technology come and go, arquillian is here to stay.. ;)
A much simpler approach would be to let the user define some sort of group names that make
sense to him and his test suite, where he could add filtering of the groups e.g. in
arquillian.xml pr Container.
e.g.
@Group("Messaging-BackendSystem-1-Test")
@RunWith(Arquillian.class)
public test MyTest() {}
arquillian.xml:
<jboss:container id="messaging-backend">
<group>Messaging-BackendSystem-1-Test</group>
..
</jboss:container>
<jboss:container id="messaging-front">
<group>Messaging-FrontendSystem-1-Test</group>
..
</jboss:container>
Note: multiple containers of the same type can be added, but represent different things to
the user. All EE6 tests are not necessarily fit for all configured EE servers.
was (Author: aslak):
Both proposals are based on @ProvidedBy which is a hard coding of package name
expressions for the given Containers. This approach does not scale at all. If at all, this
should be moved down to the Container.
But then the issues becomes, who am i(the container dev) to force no support for CDI in
JBoss 5. Someone might have hacked it up.. The users knowns better then we do what the
containers he is running against supports.
This approach also makes the api 'dependent' on technology related terms like EJB,
EE, CDI, etc.. (technology come and go, arquillian is here to stay.. ;)
A much simpler approach would be to let the user define some sort of group names that make
sense to him and his test suite, where he could add filtering of the groups e.g. in
arquillian.xml pr Container.
e.g.
@Group("Messaging-BackendSystem-1-Test")
@RunWith(Arquillian.class)
public test MyTest() {}
arquillian.xml:
<jboss:container>
<group>Messaging-BackendSystem-1-Test</group>
..
</jboss:container>
Add support for filtering tests based on required execution
environment
-----------------------------------------------------------------------
Key: ARQ-287
URL:
https://jira.jboss.org/browse/ARQ-287
Project: Arquillian
Issue Type: Feature Request
Components: Configuration
Affects Versions: 1.0.0.Alpha4
Reporter: Dan Allen
Assignee: Dan Allen
Fix For: 1.0.0.Beta1
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.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
https://jira.jboss.org/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira