I've seen a number of samples on how to set up a unit test class for ASP.NET MVC 3 using Ninject and Moq, but they all involve building a mock repository inside the test class.
What I'd like to do is build the mock repository on app start or load - so, perhaps in Global.asax.cs - and pass this to my test class instead. That way I can change to a session-state repository or a database repository in my Ninject AllBindings() method without having to change the unit test class. I already have this in app start:
ControllerBuilder.Current.SetControllerFactory(new NinjectControllerFactory());
I can even grasp putting a Bind command in global.asax.cs, but how would it get passed to the test class? When you select Test > Run does it even go through global.asax.cs? I guess I'm not sure of what context, if any, calls the test class. I can't wrap my head around how to do this, and I haven't seen any examples that go about creating the repository first and then passing it to the test class.
Is it possible, and if so, how can it be done? Thanks in advance for any advice!