Comment faire pour tester les Classes avec @ConfigurationProperties et @Autocâblés

Je veux tester de petites parties de l'application qui s'appuient sur les propriétés chargé avec @Autocâblés et @ConfigurationProperties. Je suis à la recherche d'une solution de chargement que les propriétés requises et pas toujours l'ensemble de l'ApplicationContext.
Ici, comme la réduction de la exemple:

@TestPropertySource(locations = "/SettingsTest.properties")
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = {TestSettings.class, TestConfiguration.class})
public class SettingsTest {
    @Autowired
    TestConfiguration config;

    @Test
    public void testConfig(){
        Assert.assertEquals("TEST_PROPERTY", config.settings().getProperty());
    }
}

Classe De Configuration:

public class TestConfiguration {
    @Bean
    @ConfigurationProperties(prefix = "test")
    public TestSettings settings (){
        return new TestSettings();
    }
}

Paramètres De Catégorie:

public class TestSettings {
    private String property;

    public String getProperty() {
        return property;
    }

    public void setProperty(String property) {
        this.property = property;
    }
}

Les propriétés de fichier dans le dossier de ressources contient l'entrée:

test.property=TEST_PROPERTY

Dans mon installation actuelle config n'est pas nul, mais pas de champs sont disponibles.
La raison pour laquelle les champs sont pas sur le terrain devrait avoir quelque chose à voir avec le fait que je ne suis pas à l'aide de Springboot mais le Printemps.
Alors quelle serait la Springboot moyen d'obtenir cette course?

edit:
La raison pourquoi je veux faire c'est: j'ai un analyseur qui analyse les fichiers texte, les expressions régulières utilisées sont stockées dans un fichier de propriétés.
Pour tester cela, je voudrais charger uniquement les propriétés requises pour cette analyse qui sont dans le exaple au-dessus de la TestSettings.

En lisant les commentaires, j'ai déjà remarqué que ce sont pas des tests Unitaires plus. Cependant, l'utilisation de la pleine Printemps de configuration de démarrage pour ce petit test semble un peu trop pour moi. C'est pourquoi j'ai demandé si il ya un posibilty pour charger uniquement de la seule classe avec des propriétés.

Vous pouvez essayer d'utiliser Mockito Whitebox.setInternalState(object, fieldName, value) méthode à "injecter" des valeurs dans un objet. Exemple
Vous pourriez avoir un coup d'oeil comment MockitoAnnotations.initMocks(java.lang.Object) œuvres et d'étendre à travailler pour @ConfigurationProperties et @Autowired (peut déjà y travailler, mais je ne suis pas sûr).
Vottner: Merci pour l'astuce. La question est, Ce n'est pas un seul domaine où je veux en moquer, c'est 10. Donc, il serait peu l'écriture de l'effort. Que serait rien à redire, si ce n'est que l'unité de test, mais je veux avoir beaucoup d'entre eux, afin d'avoir un moyen plus facile serait vraiment utile.
Si vous "injecter" le même genre d'objets pour un couple de tests, tout refactoriser l'instruction d'une méthode d'aide et d'appeler cette méthode dans ces tests. Vous pouvez également parametreize cette méthode pour injecter de certains objets. Vous pouvez aussi penser à une sorte de générateur de configuration qui "injecte" valeurs par défaut si aucun constructeur de la méthode spécifique est appelé et définit un béton injecter de la valeur si un respecive builder-méthode a été définie.
Qu'essayez-vous de faire exactement? À partir de l'exemple que j'ai vu on dirait que vous êtes des tests dans le cadre (vous ne devriez pas). Vous pouvez être intéressé par cette réponse de stackoverflow.com/questions/31692863/...

OriginalL'auteur IndianerJones | 2015-07-31