[
https://issues.jboss.org/browse/RFPL-3268?page=com.atlassian.jira.plugin....
]
Jiří Štefek resolved RFPL-3268.
-------------------------------
Resolution: Done
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 templates 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/ap...]
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 to 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 is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see:
http://www.atlassian.com/software/jira