我对 ninject 和测试也很陌生。
我有一个 mvc4 应用程序,我想开始为其编写测试。(是的,我知道我打算边写边写:))
在我的 NinjectWebCommon 中
private static IKernel CreateKernel()
{
var kernel = new StandardKernel();
kernel.Bind<Func<IKernel>>().ToMethod(ctx => () => new Bootstrapper().Kernel);
kernel.Bind<IHttpModule>().To<HttpApplicationInitializationHttpModule>();
RegisterServices(kernel);
return kernel;
}
private static void RegisterServices(IKernel kernel)
{
kernel.Bind<IConsumerRepository>().To<ConsumerRepository>();
}
我已经在我的应用程序中的存储库中编写了所有内容,例如我有
public interface IConsumerRepository
{
ConsumerModel GetConsumerByUserId(Guid userId);
}
public ConsumerModel GetConsumerByUserId(Guid userId)
{
if (HttpContext.Current.Session["ConsumerInfo"] == null)
{
var data = RestSharperHelper.GetById<ConsumerModel>("id", userId, ApiEndPointConstants.GetConsumerById);
LogMessage(data.UserName);
HttpContext.Current.Session["ConsumerInfo"] = data;
return data;
}
else
{
return (ConsumerModel)HttpContext.Current.Session["ConsumerInfo"];
}
}
我编写测试以检查 ConsumerModel 是否从 Web 应用程序存储库返回的最佳方法是什么?我希望它灵活,因为我想编写更复杂的测试并提供一个模拟 ConsumerModel 而不是每次都像上面那样调用 api
感谢您的任何建议!