Я работаю в модульном тестировании в веб-приложении ASP.Net, теперь у меня есть доступ к моему конструктору в файле модели для тестирования, у которого есть код Server.MapPath для загрузки моего XML-файла , когда пытаюсь проверить это, я получаю ошибку, потому что HttpContext имеет значение null, поэтому мне нужно высмеивать Server.MapPath.Mocking HttpContext.server.MapPath в модульном тестировании ASP.NET
Я искал партию, но все образцы заданы только для Asp.NET MVC, но у меня есть работа в ASP.NET. поэтому, пожалуйста, помогите в ASP.NET решить эту проблему.
Мой код приведен ниже.
public class NugetPlatformModel
{
public bool IsHavingLicense { get; set; }
public List<PlatformProducts> PlatformProduct = new List<PlatformProducts>();
public NugetPlatformModel()
{
var xmldoc = new XmlDocument();
mldoc.Load(HttpContext.Current.Server.MapPath(@"~\Content\PlatformProducts.xml"));
}
}
И мой модульного тестирования кода
[Test]
public void Account_UnlicensedCustomerIdentity_IsStudioLicenseAndIshavinglicenseFalse()
{
//Act
NugetPlatformModel nugetPlatformModel = new NugetPlatformModel();
//Assert
AssertEquals(false, nugetPlatformModel.IsHavingLicense);
}
Спасибо JJJ.Я не мог изменить свой источник, есть ли другой способ? –
Другой способ заключается в замене 'HttpContext.Current.Server.MapPath (@" ~ \ Content \ PlatformProducts.xml ")' на 'Path.Combine (AppDomain.CurrentDomain.BaseDirectory,« Content \ PlatformProducts.xml »)' – user01928374655647382910019283
Обновлено мой ответ. Обратитесь к этому. – user01928374655647382910019283