Falko Modler created DELTASPIKE-1116: ----------------------------------------
Summary: CdiTestRunner injects test class fields twice Key: DELTASPIKE-1116 URL: https://issues.apache.org/jira/browse/DELTASPIKE-1116 Project: DeltaSpike Issue Type: Bug Components: TestControl Affects Versions: 1.6.0, 1.5.4, 1.0.2 Environment: Apache Maven 3.2.5 (12a6b3acb947671f09b81f49094c53f426d8cea1; 2014-12-14T18:29:23+01:00) Maven home: C:\Program Files\apache-maven-3.2.5 Java version: 1.7.0_80, vendor: Oracle Corporation Java home: C:\Develop\jdk1.7.0_80\jre Default locale: de_DE, platform encoding: Cp1252 OS name: "windows 7", version: "6.1", arch: "amd64", family: "windows" Reporter: Falko Modler {{CdiTestRunner}} first injects into {{@Inject}} fields of the test class in {{CdiTestRunner.createTest()}}. I'm absolutely fine with that as this makes it possible to use injected beans in a {{@Before}} method or even in a JUnit {{TestRule}}. But shortly before executing the actual test method, {{CdiTestRunner.ContainerAwareMethodInvoker.evaluate()}} *injects again*, overwriting any changes that have been made to the fields in a JUnit {{TestRule}} or a {{@Before}} method in the test. The second injection was introduced by DELTASPIKE-342: https://git-wip-us.apache.org/repos/asf?p=deltaspike.git;a=commitdiff;h=2d44e7d2980f8ab0b0a2a388255c0f0944c85098 I don't know why there needs to be a second injection at all. All tests pass when I remove the second {{BeanProvider.injectFields(...)}}. PS: {{deltaspike.testcontrol.use_test_class_as_cdi_bean}} is {{false}}, which is the default value. -- This message was sent by Atlassian JIRA (v6.3.4#6332)