Je viens de commencer à implémenter des tests unitaires (en utilisant xUnit et Moq) sur un projet déjà établi. Le projet utilise intensivement l'injection de dépendance via le conteneur unity.Moq et accès aux paramètres appelés
J'ai deux services A et B. Le service A est celui qui est testé dans ce cas. Le service A appelle B et lui donne un délégué à une fonction interne. Ce 'rappel' est utilisé pour notifier A lorsqu'un message a été reçu qu'il doit gérer.
Ainsi, un appel (où b est une instance du service B):
b.RegisterHandler(Guid id, Action<byte[]> messageHandler);
Afin de tester le service A, je dois être en mesure d'appeler messageHandler
, car cela est la seule façon qu'il accepte actuellement messages.
Est-ce que cela peut être fait avec Moq? c'est à dire. Puis-je me moquer du service B, de sorte que lorsque RegisterHandler
est appelée, la valeur de messageHandler
est transmise à mon test?
Ou ai-je besoin de le reconcevoir? Y a-t-il des modèles de design que je devrais utiliser dans ce cas? Est-ce que quelqu'un sait de bonnes ressources sur ce genre de conception?