Adding bindings in a test project with Ninject.MVC3
===

I'm having trouble figuring out what the best approach is these days for Ninject and ASP.NET MVC 3.

I have used `Install-Package Ninject.MVC3` on my application and have my bootstrap class with the following methods:

    public static void Start() 
    public static void Stop()
    private static IKernel CreateKernel()
    private static void RegisterServices(IKernel kernel)

It's all great and it loads my modules as expected. But historically what I have done is something like this:

<h1>MyApp.dll</h1>
    Kernel.Bind<ISomething>().To<Something>();
    Kernel.Bind<IBlah>().To<Blah>();
    Kernel.Bind<IFoo>().To<Foo>();

<h1>MyApp.Tests.dll</h1>
<b>Here I want to override ONLY `ISomething`'s binding, so I used to just unbind the thing I needed to mock/whatever and rebind:</b>

    Kernel.Unbind<ISomething>();
    Kernel.Bind<ISomethig>().To<TestSomething>();

But there isn't a method in the `Nuget` package that implies a thought through way to achieve this with the `App_Start` class from the original library. If I put another Ninject bootstrap class in my test app it only seems geared up to build a new kernel:

    [assembly: WebActivator.PreApplicationStartMethod(typeof(TestNinjectBootstrapper), "Configure")]

I could store the kernel in the original bootstrapper statically and call from the tests project, but this feels wrong. Am I thinking too much and missing something? Or thinking too little :)

Argh. What is a good approach?