Why the myComponent
ends up being null in child junit test class? How to fix it?
Base JUnit test class:
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration
public class BaseTest {
@Autowired
MyComponent myComponent;
@Configuration
@Import(MyComponentBaseConfiguration.class)
static class Cfg {
@Bean
MyComponent myComponent() {
return new MyComponent();
}
}
void convert(MyComponentInterface component) {
// here component is null
}
@Test
public void test() {
BaseTestChild child = new BaseTestChild();
child.test();
}
}
Child test class:
@RunWith(SpringJUnit4ClassRunner.class)
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
public class BaseTestChild extends BaseTest {
@Test
public void test() {
convert(myComponent); // here myComponent is null
}
}