Проверка построения класса DataAccess на службе WCF - PullRequest
0 голосов
/ 08 июля 2010

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

Можно ли проверить эти запросы в классе обслуживания, используя 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>();
        }
    }
}

1 Ответ

2 голосов
/ 08 июля 2010

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...