필자는이 함수를 사용하여 이전 프로젝트에 단위 테스트를 추가하려고합니다. 나는파일을 읽는 정적 함수에 대한 단위 테스트
public static string GetDefaultName(bool isResponsive)
{
//Read web.config file
Configuration configuration = WebConfigurationManager.OpenWebConfiguration(System.Web.HttpContext.Current.Request.ApplicationPath);
if (!isResponsive)
{
if (configuration.AppSettings.Settings.AllKeys.Contains("defaultTheme"))
{
return configuration.AppSettings.Settings["defaultTheme"].Value;
}
else
return "default";
}
else
{
// ...
}
}
... 질문은 바보 같은 경우 단위 테스트에서 초보자가 그렇게 용서 그리고 난이 방법의 단위 테스트 작성하려고 해요 :
[TestMethod]
public void ReturnDefaulThemeNametIfThemeIsResponsive()
{
var theme = new Theme {isResponsive = true};
var defaultName = Themes.GetDefaultName(theme.isResponsive);
Assert.AreEqual(defaultName, "defaultThemeResponsive");
}
내가 무엇을 궁금해을 이 정적 함수를 테스트하는 가장 좋은 방법이며 web.config 파일을 읽은 부분을 조롱하는 방법은 무엇입니까?
현재 'web.config' 독서 물건을 조롱 할 수 없습니다. 접근 방법이 메소드 자체 내에서 발생하기 때문입니다. 필자는이 메서드를 매개 변수로 사용하여 종속성을 가져 오는 리팩터링을 고려할 것입니다. 그런 다음 그들을 조롱 할 수 있습니다. 당신이 할 수있는 또 다른 유일한 일은 유닛 테스트 프로젝트의'app.config' 파일을 업데이트하는 것이지만, 테스트의 설정 서브 시스템을 테스트하는 것입니다 (모든 의도와 목적이 어플리케이션의 설정과 똑같이 작동해야합니다). 서브 시스템). –