Skip to content

ProfileValueUtils#isTestEnabledInThisEnvironment should use current test class to determine IfProfileValue annotation [SPR-4526] #9203

Closed
@spring-projects-issues

Description

@spring-projects-issues

Noel Flicken opened SPR-4526 and commented

ProfileValueUtils#isTestEnabledInThisEnvironment should use current test class to determine whether IfProfileValue annotation is set. Using Method#getDeclaringClass in not sufficient due to possible inheritance of testing methods.

Consider the following test classes.

@RunWith(SpringJUnit4ClassRunner.class)
@TestExecutionListeners({})
public class GeneralTest {
	@Test public void generalTest()
	{
		
	}
}

@IfProfileValue(name="run", value="true")
public class SpecificTest extends GeneralTest {
	@Test public void specificTest()
	{
		
	}
}

The test "generalTest" is always run, regardless of the value of "run" profile value.
Expected behavior: GeneralTest#generalTest should always run, but SpecificTest#generalTest should only run if "run" profile value is set to "true".


Attachments:

Issue Links:

Metadata

Metadata

Assignees

Labels

in: testIssues in the test moduletype: bugA general bug

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions