J'utilise Unity pour faire des AOP, quelqu'un pourrait-il me donner une idée de la façon de les tester unitaire?comment tester l'unité AOP?
3
A
Répondre
1
Est-ce que votre implémentation "aspect" est une classe qui implémente ICallHandler
(ou très similaire IInterceptionBehavior
dans Unity 2.0) et est déjà ajoutée au pipeline d'exécution de l'objet intercepté?
Si oui, vous pouvez le tester séparément tout à fait normalement. Ce que vous testez est Invoke
méthode - appelez-le avec maquette créé pour IMethodInvocation
, mis en place pour avoir l'état de votre objet avant d'appeler l'aspect et avec GetNextHandlerDelegate
pour simuler l'objet mis en place pour représenter votre appel d'objet intercepté.
Vous pouvez alors affirmer:
- sur votre cible délégué si approprié appels sont faits - à savoir tester si l'aspect breks/ne rompt pas l'exécution correctement, si l'appel arguments ont été correctement modifié, etc.
- sur le résultat de l »
Invoke
(IMethodReturn
objet ) - à savoir tester si le résultat de retour a été correctement modifié, si l'exception a été levée, etc.
Avez-vous trouvé une façon concrète de le faire? J'ai lu la réponse mais ce n'est pas très clair? –