Essayer de faire fonctionner Nunit dans ASP.Net.Unité/Intégration Test du code utilisant HttpCurrentContext
Le problème est que je suis en train de tester un contrôle personnalisé - qui fait référence à une ressource globale.
Lorsque je tente de test unitaire, il
/// </summary>
[Test]
public void TestSetAndGetNumber()
{
PhoneNumber phone = new PhoneNumber(PhoneNumber.NumberType.Business, "", true, "");
string expectedString = "1-800-Goat-Phone";
string resultString = "1-800-Goat-Phone";
resultString = phone.Value = resultString;
Assert.AreEqual(expectedString, resultString, "GetNumberMatch method returned unexpected result.");
Assert.Fail("Create or modify test(s).");
}
Je vais obtenir "ne peut pas charger App_GlobalResources".
Essayer de comprendre si peut-être je devrais essayer de simuler HttpContext Using You've been Haacked blog post mais personne n'a vérifié que c'est faisable.
La classe testée est un contrôle personnalisé, PhoneNumber. Toutes les instances de numéro de téléphone nécessitent actuellement un appel à GlobalResources pour obtenir le texte de l'étiquette, etc. Je ne suis pas sûr de la façon dont vous recommanderiez de changer la classe pour pouvoir en tester certaines parties sans toucher GlobalResource. Si PhoneNumber utilisait une interface pour accéder à GlobalResources, je ne vois pas comment faire en sorte que le test d'unité change proprement cette interface pour renvoyer des données fictives. –
Quel est votre objectif de test? vous voulez tester le contenu de la chaîne dans GlobalResource? Je suis un peu confus avec ce que vous voulez exactement tester? –
une certaine logique dans le getter-setter. Je me rends compte que la réponse de certaines personnes à cela serait de ne pas avoir de logique dans le setter getter ... mais c'est la logique de type getter/setter (logique d'affichage). Je ne suis pas un grand fan d'avoir des interfaces qui fournissent peu de valeur d'un point de vue de modèle de conception. vraiment je voudrais juste simuler httpcontext dans le test unitaire, mais peut-être que je souhaite sur une étoile. –