2010-07-08 4 views
0

Silverlight 프로젝트에서 소비 할 수있는 WCF 서비스에 내 NHibernate 데이터 액세스 클래스를 넣었지만 오류가있어서 쿼리를 테스트하고 싶습니다.WCF 서비스에서 DataAccess 클래스 빌드 테스트

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를 사용하여) 별도의 조립에 넣어 및 호출 권하고 싶습니다 너의 봉사. 이렇게하면 쿼리 자체를 쉽게 테스트 할 수있을뿐 아니라 서비스 테스트시 저장소를 조롱 할 수 있습니다.

관련 문제