36 lines
1.0 KiB
Plaintext
36 lines
1.0 KiB
Plaintext
package com.baeldung.circulardependency;
|
|
|
|
import org.junit.Assert;
|
|
import org.junit.Test;
|
|
import org.junit.runner.RunWith;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.context.ApplicationContext;
|
|
import org.springframework.context.annotation.Bean;
|
|
import org.springframework.test.context.ContextConfiguration;
|
|
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
|
|
|
|
@RunWith(SpringJUnit4ClassRunner.class)
|
|
@ContextConfiguration(classes = { TestConfig.class })
|
|
public class CircularDependencyTest {
|
|
|
|
@Autowired
|
|
ApplicationContext context;
|
|
|
|
@Bean
|
|
public CircularDependencyA getCircularDependencyA() {
|
|
return new CircularDependencyA();
|
|
}
|
|
|
|
@Bean
|
|
public CircularDependencyB getCircularDependencyB() {
|
|
return new CircularDependencyB();
|
|
}
|
|
|
|
@Test
|
|
public void givenCircularDependency_whenSetterInjection_thenItWorks() {
|
|
final CircularDependencyA circA = context.getBean(CircularDependencyA.class);
|
|
|
|
Assert.assertEquals("Hi!", circA.getCircB().getMessage());
|
|
}
|
|
}
|