Au cours des 2 derniers mois, j'ai essayé d'apprendre le nouveau framework MVC. Après avoir compris tous les concepts orientés objet, j'ai créé un site de test en utilisant MVC3, EF4 w/DbContext, et le fournisseur d'adhésion ASP.Net. Tout allait plutôt bien. Ensuite, j'ai décidé de plonger et d'apprendre les tests, en commençant par les tests unitaires.Test MVC dans VS 2010 vs VS 11
Après deux semaines de taper la tête contre mon clavier, je me sens aussi frustré que possible. J'ai parcouru des tonnes de didacticiels vidéo (TekPub, Plural-sight), des tutoriels en ligne (ASP.Net, Microsoft, etc .. etc ..) et beaucoup de questions/réponses StackOverflow. J'ai maintenant sorte de (ha!) Comprendre Loose Coupling, Dépendance Injection, Respositories, Interfaces, Stubs, Mocks (oui, j'ai lu l'article de Fowler à plusieurs reprises), Shims, lambdas, refactoring ... la liste continue et encore et encore.). J'ai regardé Ninject, Structuremap, Moq, TypeMock, JustMock, nUnit, xUnit, etc ...
Donc, je sais qu'il ya un tas de façons de peau ce chat. Maintenant, je vois que VS11/MVC4 sort et ils ont cette chose appelée Fakes qui semble être une bonne option pour les méthodes statiques comme les trucs d'adhésion.
Ma question:
Je veux tester mon MVC EF4/DbContext/demande d'adhésion. La plupart de mes pages nécessitent un utilisateur authentifié [Authorize] et c'est avant même que j'arrive à la méthode réelle à tester.
Si vous débutiez (comme moi), quel est le moyen le plus simple et le plus facile de tester mon application CRUD? Je n'aime pas forcément avoir un cadre de DI fonctionnant sur le côté de la production (juste une autre chose qui pourrait mal se passer) et je trouve que les trucs de fracturation sont déroutants quand tout le monde s'en sort.
Je pourrais passer à VS11/MVC4 et essayer l'approche Fakes. Semble être légèrement plus simple mais semble toujours avoir besoin de toutes les ressources de Référentiel/Interfaces pour EF. Ou voulez-vous juste le jeter et utiliser un outil de test d'intégration comme Selenium (qui était ce que j'avais à utiliser auparavant avec le développement basé sur les formulaires)?
Toutes les suggestions sont grandement appréciées. Désolé si c'est une question moche mais j'espère un rayon de lumière ici ...