[ https://issues.apache.org/jira/browse/IGNITE-11323?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16793552#comment-16793552 ]
Dmitriy Govorukhin commented on IGNITE-11323: --------------------------------------------- [~ibessonov] Thanks, merged to master. > Reduce boilerplate "System.setProperty" code in tests > ----------------------------------------------------- > > Key: IGNITE-11323 > URL: https://issues.apache.org/jira/browse/IGNITE-11323 > Project: Ignite > Issue Type: Test > Reporter: Ivan Bessonov > Assignee: Ivan Bessonov > Priority: Major > Labels: MakeTeamcityGreenAgain > Fix For: 2.8 > > Time Spent: 10m > Remaining Estimate: 0h > > There are many examples in tests where some property gets new value in > "beforeTestsStarted"/"beforeTest"/"beginning of test method" and then gets > its previous value in "afterTestsStopped"/"afterTest"/"finally block of test > method". This approach leads to excessive code that can be avoided. > I suggest implementing annotation "WithSystemProperty" (name is the subject > to discussion) that will allow us to write this: > {code:java} > @Test > @WithSystemProperty(key = IGNITE_SKIP_CONFIGURATION_CONSISTENCY_CHECK, value > = "true") > public void testSkipCheckConsistencyFlagEnabled() throws Exception { > ... > } > {code} > instead of this: > {code:java} > @Test > public void testSkipCheckConsistencyFlagEnabled() throws Exception { > String backup = > System.setProperty(IGNITE_SKIP_CONFIGURATION_CONSISTENCY_CHECK, "true"); > try { > ... > } > finally { > if (backup != null) > System.setProperty(IGNITE_SKIP_CONFIGURATION_CONSISTENCY_CHECK, > backup); > else > System.clearProperty(IGNITE_SKIP_CONFIGURATION_CONSISTENCY_CHECK); > } > } > {code} > > There also has to be ability to use this annotation on test class so new > value of system properties will be used in all of its test methods. -- This message was sent by Atlassian JIRA (v7.6.3#76005)