2010-07-08 2 views
0

Я поместил свой класс доступа к данным NHibernate в службу WCF, чтобы использовать его в проекте Silverlight, но у меня есть ошибка и вы хотите проверить мои запросы.Test DataAccess класс построен на службе WCF

Можно проверить эти запросы в классе обслуживания с помощью NUnit? Раньше я обычно тестировал этот класс, но как это сделать, когда он находится в классе обслуживания?

Это мой класс 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>(); 
     } 
    } 
} 

ответ

2

Если вы хотите проверить запросов себя, я бы рекомендовал положить их в отдельную сборку (возможно, с помощью repository pattern) и вызова методов в этой сборке из ваш сервис. Это упростит проверку самих запросов, а также позволит вам высмеять репозитории при тестировании службы.

Смежные вопросы