[
https://issues.apache.org/jira/browse/SLING-5352?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Thierry Ygé updated SLING-5352:
-------------------------------
Description:
Currently it's not possible to use the TeleporterRule as Rule and ClassRule
annotation.
The idea is that BeforeClass will create the bundle and install it.
AfterClass will uninstall it. This will optimize the processing and avoid a lot
of round trip and waits. It still allow to use it as in the original version
with only Rule annotation.
I have made some test , and will attach my suggested solution. It allow to use
it as before:
{code}
@Rule
public TeleporterRule classRule =
TeleporterRule.forClass(SomeMoreTest.class, "Launchpad");
{code}
or as follow with a ClassRule annotation:
{code}
@ClassRule
public static TeleporterRule classRule =
TeleporterRule.forClass(SomeTest.class, "Launchpad");
@Rule
public TeleporterRule teleporterRule = classRule;
{code}
The changes are not so big, it only need a static field to store the bundle
symbolic name value in the case it is used with the ClassRule annotation. Then
adapt the logic in the statement to differentiate between ClassRule and Rule
usages.
was:
Currently it's not possible to use the TeleporterRule as Rule and ClassRule
annotation.
The idea is that BeforeClass will create the bundle and install it.
AfterClass will uninstall it. This will optimize the processing and avoid a lot
of round trip and waits. It still allow to use it as in the original version
with only Rule annotation.
I have made some test , and will attach my suggested solution. It allow to use
it as before:
{code}
@Rule
public TeleporterRule classRule =
TeleporterRule.forClass(SomeMoreTest.class, "Launchpad");
{code}
or as follow with a ClassRule annotation:
{code}
@ClassRule
public static TeleporterRule classRule =
TeleporterRule.forClass(SomeTest.class, "Launchpad");
@Rule
public TeleporterRule teleporterRule = classRule;
{code}
The changes are not so big, it only need a static field to store the bundle
symbolic name value in the case it is used with the ClassRule annotation.
> Make ClientSideTeleporter more efficient by making it compatible with
> ClassRule annotation
> ------------------------------------------------------------------------------------------
>
> Key: SLING-5352
> URL: https://issues.apache.org/jira/browse/SLING-5352
> Project: Sling
> Issue Type: Improvement
> Components: Testing
> Affects Versions: JUnit Tests Teleporter 1.0.4
> Reporter: Thierry Ygé
> Attachments: clientsideteleporter_patch.txt
>
>
> Currently it's not possible to use the TeleporterRule as Rule and ClassRule
> annotation.
> The idea is that BeforeClass will create the bundle and install it.
> AfterClass will uninstall it. This will optimize the processing and avoid a
> lot of round trip and waits. It still allow to use it as in the original
> version with only Rule annotation.
> I have made some test , and will attach my suggested solution. It allow to
> use it as before:
> {code}
> @Rule
> public TeleporterRule classRule =
> TeleporterRule.forClass(SomeMoreTest.class, "Launchpad");
> {code}
> or as follow with a ClassRule annotation:
> {code}
> @ClassRule
> public static TeleporterRule classRule =
> TeleporterRule.forClass(SomeTest.class, "Launchpad");
> @Rule
> public TeleporterRule teleporterRule = classRule;
> {code}
> The changes are not so big, it only need a static field to store the bundle
> symbolic name value in the case it is used with the ClassRule annotation.
> Then adapt the logic in the statement to differentiate between ClassRule and
> Rule usages.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)