[richfaces-planning-issues] [JBoss JIRA] (RFPL-3268) Reimplement MatrixConfigurator in Metamer tests
Jiří Štefek (JIRA)
issues at jboss.org
Mon May 12 05:25:57 EDT 2014
[ https://issues.jboss.org/browse/RFPL-3268?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12951855#comment-12951855 ]
Jiří Štefek edited comment on RFPL-3268 at 5/12/14 5:23 AM:
------------------------------------------------------------
Because the Arquillian extension was not easily implementable as a testing framework independent solution, the MatrixConfigurator was replaced by using of a TestNG's @DataProvider.
The TestNG was updated to latest version.
The features:
* The tested/supported templates are specified in value of {{@Templates}} annotation of first found field in hierarchy of test (from offspring to parent) ( == maybe as before).
* The plain template is activated by default as before.
* To run tests in all templates one can now use either {{*}} or {{all}}.
* To run tests in specific template one can still use everything as before plus I've added some aliases for each template. One can now use e.g. {{-Dtemplates=edt}} for running tests in richExtendedDataTable. The aliases are in [Template|https://github.com/richfaces/richfaces-qa/blob/master/metamer/application/src/main/java/org/richfaces/tests/metamer/Template.java] class of Metamer Application. The aliases are case insensitive.
* The templates can now be run separately, e.g.: {{-Dtemplates=plain,edt,cp}} (plain, extendedDataTable, collapsiblePanel)
** all tests will run in each specified template, templates separator is {{comma}}
** one can even use {{-Dtemplates=plain,*}} which will run all tests in plain template and in all supported templates (there will be 2 tests for plain template).
* The templates can now be run concurrently, e.g.: {{-Dtemplates=acc+edt,cp}} (1st configuration: EDT inside accordion, 2nd configuration: collapsible panel)
** to open the sample with such templates in browser, one should add {{?templates=acc>edt}} (just change {{+}} to {{>}})
* One can configure a test class/method to run or to not run with specific templates using @Templates (as before)
* The {{@Use}} parameter was separated to {{@UseForAllTests}} and {{@UseWithField}}.
** {{@Inject}} was deleted
** {{@UseForAllTests}} for marking field, that will be used for configuration in all tests
** {{@UseWithField}} for marking method, that will use a field for configuration
** {{@Uses}} can now only accept {{@UseWithField}} annotations
** {{@UseForAllTests}} and {{@UseWithField}} can be used concurrently
** the supported types for fields are Strings, Enums, and everything not primitive (can be fixed) from field
was (Author: jstefek):
Because the Arquillian extension was not easily implementable as a testing framework independent solution, the MatrixConfigurator was replaced by using of a TestNG's @DataProvider.
The TestNG was updated to latest version.
The features:
* The tested/supported templates are specified in value of {{@Templates}} annotation of first found field in hierarchy of test (from offspring to parent) ( == maybe as before).
* The plain template is activated by default as before.
* To run tests in all templates one can now use either {{*}} or {{all}}.
* To run tests in specific template one can still use everything as before plus I've added some aliases for each template. One can now use e.g. {{-Dtemplates=edt}} for running tests in richExtendedDataTable. The aliases are in [Template|https://github.com/richfaces/richfaces-qa/blob/master/metamer/application/src/main/java/org/richfaces/tests/metamer/Template.java] class of Metamer Application. The aliases are case insensitive.
* The templates can now be run separately, e.g.: {{-Dtemplates=plain,edt,cp}} (plain, extendedDataTable, collapsiblePanel)
** all tests will run in each specified template, templates separator is {{comma}}
** one can even use {{-Dtemplates=plain,*}} which will run all tests in plain template and in all supported templates (there will be 2 tests for plain template).
* The templates can now be run concurrently, e.g.: {{-Dtemplates=acc+edt,cp}} (1st configuration: EDT inside accordion, 2nd configuration: collapsible panel)
* One can configure a test class/method to run or to not run with specific templates using @Templates (as before)
* The {{@Use}} parameter was separated to {{@UseForAllTests}} and {{@UseWithField}}.
** {{@Inject}} was deleted
** {{@UseForAllTests}} for marking field, that will be used for configuration in all tests
** {{@UseWithField}} for marking method, that will use a field for configuration
** {{@Uses}} can now only accept {{@UseWithField}} annotations
** {{@UseForAllTests}} and {{@UseWithField}} can be used concurrently
** the supported types for fields are Strings, Enums, and everything not primitive (can be fixed) from field
> Reimplement MatrixConfigurator in Metamer tests
> -----------------------------------------------
>
> Key: RFPL-3268
> URL: https://issues.jboss.org/browse/RFPL-3268
> Project: RichFaces Planning
> Issue Type: Task
> Security Level: Public(Everyone can see)
> Components: QE
> Reporter: Pavol Pitonak
> Assignee: Jiří Štefek
> Fix For: 5.0.0.Alpha4
>
>
> Metamer component enabling us to run tests in various templates and to run tests with parameters.
> Problems of current implementation:
> * Implemented as a TestNG interceptor, i.e. it cannot work with JUnit (which is used by all other RichFaces tests)
> * We cannot upgrade to latest version of TestNG (not sure why, probably a bug in TestNG interceptors, it skips tests)
> Requirements for new implementation (almost identical to current implementation):
> * It should work with both TestNG and JUnit (preferably implemented as an Arquillian extension)
> * I can run tests in plain template: mvn clean verify
> * I can run tests in all templates: mvn clean verify -Dtemplates=*
> * I can run tests in all templates using "all" (asterisk cannot be used in Jenkins matrix): mvn clean verify -Dtemplates=all
> * I can run tests in one specific template: mvn clean verify -Dtemplates=richList
> * I can run tests in two or more specific templates (each separately): mvn clean verify -Dtemplates=richList,richDataTable, i.e. each test will run twice - once in richList template and once in richDataTable template
> * I can run tests in two or more specific templates (applied all at once): mvn clean verify -Dtemplates=richList,richDataTable, i.e. each test will run once - with both richList and richDataTable templates activated concurently, comma cannot be used as separator - optional feature?
> * I can configure a test class/method to run with specific templates using @Templates (as is now)
> * I can configure a test class/method not to run with specific templates using @Templates (as is now)
> * I can configure a test to run with multiple parameters using @Inject, @Use (as is now)
--
This message was sent by Atlassian JIRA
(v6.2.3#6260)
More information about the richfaces-planning-issues
mailing list