2013-01-16 52 views
1

那麼我正在做單元測試。現在我是單元測試新手了。我正在使用mvc3框架的nunit和rhino mock。我應該單元測試ApplicationInstaller.cs嗎?請給我推薦一些推薦的nunit測試讀數。我們可以在c#中測試ApplicationInstaller嗎?

public void Install(Castle.Windsor.IWindsorContainer container, Castle.MicroKernel.SubSystems.Configuration.IConfigurationStore store) 
{ 
    container.Register(
     AllTypes.FromAssemblyContaining<IEmployeeModelAssembler>() 
     .Where(x => x.Name.EndsWith("Assembler")) 
     .WithService.DefaultInterfaces()); 

    container.AddFacility<LoggingFacility>(x => x.LogUsing(LoggerImplementation.Log4net).WithConfig("log4net.config")); 

    container.Register(
     // All controllers 
     AllTypes.FromAssembly(Assembly.GetExecutingAssembly()).BasedOn<IController>().LifestyleTransient(), 
     // 
     Component.For<IControllerFactory>().ImplementedBy<IoCControllerFactory>(), 
     Component.For<ICookieManager>().ImplementedBy<CookieManager>().LifeStyle.Is(LifestyleType.Transient), 
     Component.For<IJsonSerializer>().ImplementedBy<JsonSerializer>(), 
     Component.For<ILoanActionsUtility>().ImplementedBy<LoanActionsUtility>(), 
     // Default D.I. container 
     Component.For<IWindsorContainer>().Instance(container)); 

    // Register AES web services 
    container.Install(new AESServicesBootstrapper.ApplicationInstaller()); 

} 

#endregion 

/// <summary> 
/// Creates a WCF client for web services passing the token of the authenticated user from the cookie. 
/// This method only creates the client/channel, it does not configure the connection settings, 
/// those have to be defined by named endpoints on the web.config 
/// </summary> 
/// <typeparam name="T"></typeparam> 
/// <param name="endPointConfiguration">name of the endpoint on the web.config</param> 
/// <returns></returns> 

}

+0

你可以讓你的標題和問題同意嗎? 「我們可以......」和「我們應該......」這兩個問題是不同的(當然,如果第一個答案是「否」,第二個問題是沒有意義的) –

回答

2

以我的經驗,沒有在測試上面的代碼太大的價值。這基本上是沒有任何決策的配置,所以你的測試只能確保應用程序按照你想要的方式進行配置。這基本上是你上面的代碼的重複。

如果您的安裝程序中發生了邏輯錯誤,那麼您可能需要對其進行一些測試。如果事情開始與大量邏輯失去聯繫,那麼您正在研究將該代碼移入另一個類的領域,甚至不會將其包含在您的安裝程序代碼中。

對於這些類型的問題,您可能在Programmers上有一些運氣。

相關問題