Les tests de printemps bean avec poste de construire

J'ai un haricot similaire à ceci:

@Service
public class A {
    @Autowired
    private B b;    
    @PostConstruct
    public void setup() {
       b.call(param);
    }
}

@RunWith(SpringJUnit4ClassRunner.class)
@SpringApplicationConfiguration(classes = { Application.class, Config.class })
@WebIntegrationTest(randomPort = true)
public class Test {
    @Autowired
    B B;
    @Before
    public void setUp() throws Exception {
        when(b.call(any())).thenReturn("smth");
    }
    @Test
    public void test() throws Exception {
        //test...
    }
}

Le problème est que PostConstruct est appelé avant setUp quand le test est exécuté.

De classe A ont une autre logique qui est appelé le test de ce dernier. Et pour répondre à votre question, je voudrais tester la logique de la classe A.

OriginalL'auteur Andy | 2015-07-23