我想编写一个单元测试来测试一个名为 UploadedFile 的类的功能。
我面临的问题是此类的静态构造函数使用 HttpContext.Current 属性,并且因为我正在从类库运行单元测试,所以在测试时我没有 HttpContext。
看看我的静态构造函数:
static UploadedFile()
{
if (HttpContext.Current == null)
throw new Exception("web server not available");
HttpServerUtility server = HttpContext.Current.Server;
// SET UploadedFileMappingFile Names:
_resourceFileNames = new StringDictionary();
_resourceFileNames[_suppoertedFileStructures] = server.MapPath(SupportedUploadedFileStructures);
_resourceFileNames[_supportedFileStructuresXSD] = server.MapPath(SupportedUploadedFileStructuresXSD);
_resourceFileNames[UploadedFileEnum.UploadedFileFormatENUM.CSV.ToString()] = server.MapPath(UploadedFileColumnMap);
}
我应该在我的测试环境中做什么,这样HttpContext.Current
它就不会为空,我可以成功地设置它:
HttpServerUtility server = HttpContext.Current.Server;