2014-11-05 7 views
2

Работа с BizTalk, мне нравится использовать вызываемые оркестровки (без конвейеров) в качестве сервиса для других оркестровок, что дает большую гибкость в архитектуре. Но унитаз их довольно коварный. Теперь я использую отдельное приложение с оркестровкой обертки (просто вызывающ оркестровку для проверки), которую я развертываю в BizTalk перед unittesting.Unittesting Callable Orchestrations

Есть ли у кого-то лучший способ унифицировать вызываемые оркестровки? Самое предпочтительное, у меня был бы unittest, где мне не нужны дополнительные артефакты для развертывания.

Заранее спасибо.

ответ

0

Трудно ответить на открытый вопрос NO, но я бы ответил, что это практически невозможно.

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

Я бы сказал, что вы делаете правильные шаги, разделяя из частей ваших оркестровок, а не заставляя их напрямую привязываться к физическим портам. Это делает тестирование возможным/проще. Меньше соединений также означает меньшее количество ошибок.

Я бы постарался ограничить объем работы оркестровки, которую вы делаете. Используйте только оркестровку, если нет лучшей (или, по крайней мере, более проверяемой) альтернативы.

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

Цель состоит в том, чтобы сделать тестирование таким легким/дешевым и надежным, что легче проверить, чем не тестировать. Таким образом, вы запретите менеджерам говорить skip the tests, they take too long. Вы хотите, чтобы они спрашивали: can you test it first?