2010-06-21 8 views

Répondre

1

J'ai fait la même chose récemment. De mes recherches, il semble que la meilleure pratique consiste à créer au moins un test pour chaque action (De cette façon, vous couvrez CRUD en vertu du fait que vos actions sont généralement basées sur CRUD) et limitez le test au code interne. Ce que cela signifie est de ne pas franchir la limite de la méthode, mais plutôt de se moquer de tout ce dont votre action a besoin et d'affirmer les résultats souhaités. Bien sûr, cela signifie que vous devez faire la même chose pour vos services, dépôts, etc.

Mais cela signifie que vous avez un test unitaire qui ne se casse pas si vous changez du code entre l'action et le DB sauf si vous avez un changement à faire. Cela prend beaucoup de temps mais jusqu'ici j'ai trouvé que l'effort en valait la peine car un test unitaire échoué dans un code sans rapport signifie que j'ai un changement à faire que j'ai oublié ou que je suis trop étroitement couplé.

2

Il est difficile de dire ce que vous devez tester dans vos contrôleurs sans les montrer. Vous dites qu'ils sont de base CRUD mais ensuite vous parlez d'AutoMapper, donc probablement ce n'est pas aussi simple que cela. Voici un exemple de unit test que j'ai écrit et le controller en cours de test.