Erick already pointed you at the "cleanup" rule. This is fairly
generic, but if you know
the properties being modified you should still clean them up in @After or
@AfterClass -- this is useful for other people to know that you're modifying
them, if for nothing else.

Randomized testing package has SystemPropertiesInvariantRule which
will allow you to check if there's any property "leaking" from your
test. Some properties have to be excluded because various (system and
non-system) classes set them occasionally upon initialization.

Dawid
On Fri, Aug 10, 2018 at 2:13 AM Erick Erickson <erickerick...@gmail.com> wrote:
>
> See TestSolrXml.java for an example of:
>
> @Rule
> public TestRule solrTestRules = RuleChain.outerRule(new
> SystemPropertiesRestoreRule());
>
> Best,
> Erick
>
> On Thu, Aug 9, 2018 at 2:33 PM, Michael Sokolov <msoko...@gmail.com> wrote:
> > I ran into a need to test some functionality that relies on system
> > properties. Writing the test was error-prone because the properties persist
> > across the jvm so if you set them in a test they leak across to other tests
> > unless you are careful about @After methods. It occurred to me it would be
> > nice if LuceneTestCase would detect this and yell. It could save all the
> > system properties before each test (or at least each test class) and see if
> > they are restored at the end.  I don't know if this arises much in Lucene,
> > but maybe in Solr?
> >
> > -Mike
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: java-user-unsubscr...@lucene.apache.org
> For additional commands, e-mail: java-user-h...@lucene.apache.org
>

---------------------------------------------------------------------
To unsubscribe, e-mail: java-user-unsubscr...@lucene.apache.org
For additional commands, e-mail: java-user-h...@lucene.apache.org

Reply via email to