Управление сеансами NHibernate в приложении WCF

Это отличный вопрос, который не имеет ничего общего с конкретным инструментом. Мне пришлось столкнуться с той же проблемой в большом проекте «с нуля» (то есть с нуля).

Здесь существует проблема со словарем: слово «макет» используется повсеместно, а то, что вы называете «интеграционным тестом», больше означает «полное сквозное автоматизированное функциональное тестирование». Не обижайтесь, просто четкая формулировка поможет решить проблему.

Вы на самом деле предложили правильный ответ: # 2 заглушите остальной сервер. # 1 выполнимо, но скоро его будет слишком сложно разрабатывать и поддерживать, # 3 - отличная идея, но не имеет ничего общего с тестированием пользовательского интерфейса и его проверкой.

Чтобы добиться высокой надежности вашего внешнего интерфейса, независимо от вашего внутреннего, просто заглушите остальной сервер, то есть разработайте глупый простой REST-сервер, который будет идемпотентным, т.е. е. ВСЕГДА ответит на одно и то же HTTP-запрос. Соблюдение принципа идемпотентности сделает разработку и тестирование очень и очень простым, чем любой другой вариант.

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

Полный ответ на этот вопрос заслуживает целой статьи в блоге, но я надеюсь, что вы можете почувствовать, что делать из того, что я предлагаю.

С наилучшими пожеланиями

15
задан Rohit Agarwal 12 June 2009 в 22:03
поделиться