Lors de la création d'un test unitaire pour une classe qui utilise la fonction HttpContext.Current.Cache
classe J'obtiens une erreur en utilisant NUnit. La fonctionnalité est basique - vérifier si un élément est dans le cache, et si non, le créer et le mettre dedans :
if (HttpContext.Current.Cache["Some_Key"] == null) {
myObject = new Object();
HttpContext.Current.Cache.Insert("Some_Key", myObject);
}
else {
myObject = HttpContext.Current.Cache.Get("Some_Key");
}
Lorsque l'on appelle cette fonction à partir d'un test unitaire, elle échoue avec l'erreur suivante NullReferenceException
lors de la rencontre avec le premier Cache
ligne. En Java, j'utiliserais Cactus pour tester le code côté serveur. Existe-t-il un outil similaire que je peux utiliser pour le code C# ? Cette question de l'OS mentionne les frameworks mock - est-ce le seul moyen de tester ces méthodes ? Existe-t-il un outil similaire pour exécuter des tests pour C# ?
De plus, je ne vérifie pas si le Cache
est nulle car je ne veux pas écrire de code spécifiquement pour le test unitaire et supposer qu'il sera toujours valide lorsqu'il sera exécuté sur un serveur. Est-ce valable, ou dois-je ajouter des contrôles de nullité autour du cache ?