Je veux écrire un test unitaire qui teste la fonction d'une classe appelée UploadedFile. Le problème auquel je suis confronté est que le constructeur statique de cette classe utilise la propriété HttpContext.Current et parce que j'exécute mon test unitaire à partir d'une bibliothèque de classes, je n'ai pas de HttpContext au moment du test.Comment rendre HttpContext disponible pour mes tests unitaires?
Regardez mon constructeur statique:
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);
}
Que dois-je faire dans mon environnement de test afin que HttpContext.Current
ne sera pas nul et que je peux mettre avec succès ceci:
HttpServerUtility server = HttpContext.Current.Server;
Merci pour l'idée! Je n'ai pas utilisé Rhino.Mocks.dll jusqu'ici malheureusement. Il semble que je dois d'abord me familiariser avec lui puis je vais essayer de mettre en œuvre votre suggestion. Merci! – pencilCake