Comment désactiver Autowiring Spring dans les tests unitaires pour l'utilisation de @ Configuration / @ Bean

Je veux configurer un composant de test à l'aide de printemps-tester la configuration intérieure de la classe (@Configuration). Des composants testés a certains services qui j'aimerais maquette pour le test. Ces services sont des classes (pas d'interface utilisée) et ont du printemps des annotations ( @Autowired ). Mockito peut facilement se moquer d'eux, cependant, je n'ai trouvé aucun moyen de la désactivation de printemps permettra à l'autowiring.

Exemple comment je peux reproduire facilement:

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = SomeTest.Beans.class)
public class SomeTest {

    //configured in component-config.xml, using ThirdPartyService
    @Autowired
    private TestedBean entryPoint;

    @Test
    public void test() {
    }

    @Configuration
    @ImportResource("/spring/component-config.xml")
    static class Beans {
        @Bean
        ThirdPartyService createThirdPartyService() {
            return mock(ThirdPartyService.class);
        }
    }
}

public class ThirdPartyService {
    @Autowired
    Foo bar;
}

public class TestedBean {
    @Autowired
    private ThirdPartyService service;
}

Dans cet exemple "TestBean" représente le service se moque de lui. Je ne voudrais PAS "bar" pour être injecté par le printemps! @Bean(autowire = NO) n'aide pas (en fait, c'est la valeur par défaut).
(Merci de me sauver de "l'usage des interfaces de!" commente - la moqué de service peut être 3ème partie qui je ne peux rien faire avec.)

Mise à JOUR

Springockito résout partiellement le problème, tant que vous n'avez pas à avoir autre chose à configurer (si vous ne pouvez pas utiliser la configuration de la classe avec Springockito - il ne le supporte pas), mais l'utilisation se moque seulement.
Toujours à la recherche de source pure solution, si il y a de tout...

source d'informationauteur vuk