Alors je travaille avec Umbraco 6.12 et que vous avez beaucoup de difficulté à tester un J'ai mis en œuvre Cependant, le test de l'unité testant ces contrôleurs est une question différente. J'ai trouvé cela, et j'ai ajouté la dernière réponse: P> http: // Problèmes .umbraco.org / numéro / u4-1717 p> J'ai maintenant ce charmant hack dans ma configuration: p> qui a entendu L'original courant n'a pas été initialisé sur Umbraco.Web.PubliedCache.PubliedCachesResolver. Vous devez initialiser le courant avant d'essayer de le lire. P>
BlockQuote> Le résolveur de caches publié semble également être caché derrière des éléments internes et protégés, que je ne peux pas utiliser la réflexion pour pirater comme je ne peux rien avoir à passer dans C'est vraiment frustrant, j'aimerais V6 et utiliser Umapper est très gentil. Je peux injecter un repo, un service, une commande ou une requête à volonté dans les contrôleurs et la vie est bon - je ne peux tout simplement pas couvrir les contrôleurs! P> Toute aide à ce sujet serait grandement appréciée. P> merci. p> p> rendumvccontroller code>.
iAPplicationEventhandler code> dans mon
global.ascx code> et Ninject fonctionne bien et comme prévu lors de l'exécution de l'application - tout le bien. p>
umbracocontext code> ne peut pas être null, mais je jette maintenant: p>
setProperty code> réflexion. P>
3 Réponses :
J'ai soulevé ceci sur les forums Umbraco et il y a plusieurs réponses qui peuvent vous aider. P>
voir ici: p>
Essentiellement, vous pouvez .. Juste ... mais nécessite une réflexion car certaines des classes de clés et des interfaces sont internes. Lorsque la dernière publication de Luke indique, c'est parce que la fonctionnalité est actuellement un peu une cible en mouvement. P>
Selon l'équipe principale, vous devez inclure la bibliothèque Umbraco.TestS et hériter de votre test de BeanumbracoApplicationTest. Qui configurera une umbracoapplication valide et un umbracocontext. P>
https://groups.google.com/forum /? Fromgroups = #! Sujet / Umbraco-dev / vejdzjqmtsu p>
à l'unité Test A Umbraco RendermvcController, vous devez Prenez le code source de Github , compilez la solution vous-même, et Obtenez le Umbraco.TestS.dll et la référez-le sur votre projet de test.
En plus de cela, vous devez faire référence à SQLCE4UMBRACO.dll qui est distribué avec les packages UmbraCo et Rhino.mocks.dll, qui est en interne pour la moqueur . P>
Pour vous aider, j'ai compilé mettre l'Umbraco.TestS.dll pour UmbraCo 6.1.5 et le mettre avec le rhino.mocks.dll et le mettre sur Enfin, dérivez votre test de BaserOntingTest, remplace la base de donnéesAtestBehavior à
Nodatabaseperfixture et obtenez l'UmbraCocontext et httpbasecontext en appelant la méthode gettroutingContext, comme dans le code ci-dessous: p> Ce code n'a été testé que dans UmbraCo 6.1.5. P > p>
Merci, j'ai fini avec des semblables. C'est un gros effort mais j'espère que cela obtient un peu plus de TLC de l'équipe principale à l'avenir.
@Jorgelusar, j'essaie de configurer un site Web Umbraco avec TDD en suivant votre exemple, mais mon premier test échoue toujours. Pouvez-vous s'il vous plaît vérifier ma question et voir si vous aviez le même problème?