2010-07-08 2 views
0

J'ai mis ma classe d'accès aux données NHibernate dans le service WCF pour pouvoir la consommer par le projet Silverlight, mais j'ai une erreur et je veux tester mes requêtes.Test de la classe DataAccess basée sur le service WCF

Il est possible de tester ces requêtes dans la classe de service en utilisant NUnit? Plus tôt, je teste normalement cette classe, mais comment le faire quand il est en classe de service ??

C'est ma classe de service WCF:

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Runtime.Serialization; 
using System.ServiceModel; 
using System.ServiceModel.Web; 
using System.Text; 
using DataTransfer; 
using NHibernate; 
using NHibernate.Cfg; 
using System.Diagnostics; 

namespace WcfService1 
{ 
    public class Service1 : IService1 
    { 
     private ISession _session; 
     public Service1() 
     { 
      try 
      { 
       _session = (new Configuration()).Configure().BuildSessionFactory().OpenSession(); 
      } 
      catch (Exception e) 
      { 
       Debug.Write(e); 
       throw; 
      } 
     } 
     public IList<Dziecko> GetChildByFirstname(string _firstname) 
     { 
      return _session.CreateCriteria(typeof(Dziecko)) 
       .Add(NHibernate.Criterion.Expression.Eq("Imie", _firstname)).List<Dziecko>(); 
     } 
     public IList<Dziecko> GetChildByLastname(string _lastname) 
     { 
      return _session.CreateCriteria(typeof(Dziecko)) 
       .Add(NHibernate.Criterion.Expression.Eq("Nazwisko", _lastname)).List<Dziecko>(); 
     } 
     public IList<Dziecko> GetChildByFirstnameAndLastname(string _firstname, string _lastname) 
     { 
      return _session.CreateCriteria(typeof(Dziecko)) 
       .Add(NHibernate.Criterion.Expression.Eq("Imie", _firstname)).Add(NHibernate.Criterion.Expression.Eq("Nazwisko", _lastname)).List<Dziecko>(); 
     } 
    } 
} 

Répondre

2

Si vous voulez tester les requêtes elles-mêmes, je vous recommande de les mettre dans un ensemble séparé (en utilisant peut-être le repository pattern) et appeler les méthodes dans cette assemblée de ton service. Cela facilitera le test des requêtes elles-mêmes et vous permettra également de simuler les dépôts lors du test du service.

Questions connexes