Mmmm... lo que propones es usar una "Specification" pero más acotado según veo, que no tenga un filtro sino que directamente devuelva el resultado.
Si uso NHibernate en el controller entonces la que queda es mandarle un DB de test y hacer test de integración directamente. Saco esto, porque he visto Rails, y ellos no usan tanta parafernalia para sus controllers y aplicaciones. De las aplicaciones que estoy haciendo creo que una el Home Banking merece una arquitectura grande, las demás como dice Ayende, es complicar las cosas. Saludos, El 16 de marzo de 2011 09:39, José F. Romaniello <[email protected]>escribió: > Yo estoy de acuerdo en que el código que esta analizando es una > -masturbación mental- > Y aunque parezca contradictorio, yo ya tuve de estas, (esta en mi blog como > linq specifications y en linqspecs.codeplex.com) > > Dicho esto voy a decir lo que yo haría, lo importante es separar cosas que > tengan sentido. > > public interface ILatestPostQuery > { > IEnumerable<Post> Execute(int boardId, string lastPost, int maxPage .. > .whatever); > } > > > y eso es lo que inyecto en el contrador. El controlador lo puedo diseñar > haciendo un mock de ILatestPostQuery. > > La implementación de ILatestPostQuery depende de nhibernate y para > diseñarla no usaría mocks si no nhibernate real, contra una bd real. > > No usaría nhibernate en el controller, por que sería mezclar lógica, lo > cual me llevaría a un diseño peor. > > > > El 16 de marzo de 2011 09:31, Walter Poch <[email protected]>escribió: > >> Hola a todos, >> >> Leyendo hoy el post de Ayende ( >> http://ayende.com/Blog/archive/2011/03/16/architecting-in-the-pit-of-doom-the-evils-of-the.aspx) >> con el cual comparto más o menos la postura la duda que me surge es como >> testear un Controller que dependa de ISessionFactory. >> >> La idea es Mockear la llamada a GetCurrentSession(), y devolver un >> ISession que ya conozca según el método a testear del controller que datos >> devolver en un IQueryOver .List()? >> >> Muchas gracias! >> >> -- >> Saludos, >> >> Walter G. Poch >> Sr. .Net Developer >> -------------------------------------------- >> Cell: +54 (9 341) 3353273 >> [email protected] >> -- >> Para escribir al Grupo, hágalo a esta dirección: >> [email protected] >> Para más, visite: http://groups.google.com/group/NHibernate-Hispano > > > -- > Para escribir al Grupo, hágalo a esta dirección: > [email protected] > Para más, visite: http://groups.google.com/group/NHibernate-Hispano -- Saludos, Walter G. Poch Sr. .Net Developer -------------------------------------------- Cell: +54 (9 341) 3353273 [email protected] -- Para escribir al Grupo, hágalo a esta dirección: [email protected] Para más, visite: http://groups.google.com/group/NHibernate-Hispano
