0

J'apprends actuellement à tester mes méthodes unitaires dans un projet RIA Silverlight. J'ai certaines méthodes que l'utilisateur est autorisé. Je pensais que je pourrais résoudre ce problème en créant un faux service d'autorisation. Et puis avoir l'utilisateur être autorisé de cette façon, mais il semble que je une null référence du code, car il appelle le service d'autorisation dans le projet à partir duquel le code que je teste origine, et obtient la référence nulle dans la méthode createdefaultuser, que je avait autrement écrasé manuellement dans le service d'autorisation mock.authorizationservice provoquant l'échec de l'échec

Comment puis-je m'en occuper? Mon mockauthorization a cet espace de noms/classe definitionnamespace

Notlr.Test 
    { 
     public class MockAuthentication : AuthenticationService 
     { 
     } 
    } 

Ria Mon AuthenticationService ressemble à ceci:

namespace Notlr.Web 
    { 
     using System; 
     using System.ServiceModel.DomainServices.Hosting; 
     using System.ServiceModel.DomainServices.Server.ApplicationServices; 
     using System.Web.Security; 

     /// <summary> 
     /// RIA Services DomainService responsible for authenticating users when 
     /// they try to log on to the application. 
     /// 
     /// Most of the functionality is already provided by the base class 
     /// AuthenticationBase 
     /// </summary> 
     [EnableClientAccess] 
     public class AuthenticationService : AuthenticationBase<User> 
{ 
} 
} 

Répondre

1

Jakob, il semble que vous avez des problèmes d'espace de noms. N'oubliez pas que votre "projet de test" dans Visual Studio est un projet comme les autres. Il a son propre espace de noms et compile dans son propre assemblage .net. Avoir un "projet de test" ne met pas automatiquement les objets simulés dans les tests; vous devez écrire le code pour accomplir ceci par vous-même.

Vous devez vous assurer que vous écrivez le code de test pour utiliser le service d'autorisation simulé lorsque le test s'exécute. Si vous souhaitez une aide plus spécifique, veuillez poster le code avec lequel vous rencontrez un problème.

+0

J'ai essayé d'éditer mon message, j'espère que le code que j'ai posté est ce que vous demandez, s'il vous plaît guidez-moi sur le bon chemin. Est-ce que mon test doit être en Notlr.Test ?? – Jakob