L'Injection d'une maquette d'un objet dans un objet à être testé déclaré comme un champ dans le test ne fonctionne pas à l'aide de Mockito?

J'ai une classe et je suis l'injection d'un proxy dans mon service.

Service service
{
    private ServiceProxy proxy;
    public Service(ServiceProxy proxy)
    {
        this.proxy = proxy; 
    }
}

Le test c'est:

ServiceTest
{
    @Mock
    ServiceProxy mockProxy;
    Service service = new Service(mockProxy);
}

Si j'initialise ma classe comme cela, j'ai toujours un NPE quand je veux utiliser l'objet du service. Pourquoi ne Mockito faire cela? Ce est un moyen facile de contourner cela, au lieu de le déclarer dans chaque test?

Peut-on inclure la pile de vos entrées en phase nationale? si vous souhaitez recréer cet état de fait souvent, que diriez-vous d'une méthode dans un utilitaire de test de la classe?
Êtes-vous à l'aide de la MockitoJUnitRunner, ou êtes-vous à l'aide de initMocks, pour créer votre maquette?

OriginalL'auteur Phoenix | 2013-10-25