J'utilise une combinaison de SpecFlow avec xUnit pour tester mes objets métier AAPC. SpecFlow avec xUnit sont utilisés pour définir et tester les scénarios utilisateur (think: test fonctionnel/d'acceptation), et xUnit seul est utilisé pour tester des classes individuelles et des combinaisons de ces classes.
Les dépendances au sein des classes CSLA, telles que l'accès aux données, sont injectées via un conteneur. De telles dépendances peuvent souvent être moquées pour des tests unitaires.
Le client de test et notre portail de données distant ont des conteneurs séparés chargés avec les dépendances correctes. Si un test doit mocker l'une des dépendances de Data Portal, nous avons une commande CSLA spéciale qui est exécutée (via xUnit BeforeAfterTestAttribute
) sur le portail de données et remplace les dépendances standard par nos dépendances mockées. Lorsque les tests sont terminés, la commande est à nouveau exécutée pour remettre les dépendances standard dans le conteneur.
J'espère que cela aide.