Автоматизированное тестирование оркестровки

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

Логика, используемая в этой оркестровке, сложна и часто подвержена изменениям, поэтому важно покрыть ее надлежащим набором тестов. Я думаю об этом некоторое время и даже думал об использовании 3 различных компонентов, чтобы

  1. Первая часть (может быть только 2 порта) считывает данные из базы данных и помещает в папку

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

  3. Третий компонент читает файл, выгруженный вторым компонентом, и отправляет его в веб-сервис

Однако у меня мало проблем,

  1. Является ли это недовольным практикой, когда дело доходит до BizTalk? Или это нормальный способ делать вещи?

  2. Производительность - будет ли она значительно медленнее по сравнению с текущим решением?

  3. В настоящее время мы используем один из серверов для запуска тестов / сборки с использованием BTDF и Jenkins. Есть ли способ отключить компоненты 1 и 3, запустить тесты и снова включить их после завершения сборки, чтобы он мог нормально функционировать?

2 ответа

Решение

Вы можете избежать накладных расходов на запись и чтение из файлов, используя встроенную функциональность MessageBox. Первое место для начала здесь: https://msdn.microsoft.com/en-us/library/aa949234.aspx

Существует отличный пример Biztalk, который показывает, как вы можете использовать этот подход для модульной функциональности в набор оркестровок, которые независимо читают и записывают в MessageBox. На него ссылаются внизу предыдущей страницы и он называется "Прямое связывание с базой данных MessageBox в оркестровках".

Я бы рекомендовал против такого подхода. Было бы лучше, если бы эти три оркестровки были напрямую связаны с MessageBox и подписывались на сообщения, опубликованные предыдущей оркестровкой. Вы также можете создать порты отправки, которые подписываются на эти сообщения, или просто использовать консоль управления для отладки сообщений.

Вы также можете написать модульные тесты для ваших различных задач. Если вы выполняете какую-то работу в вспомогательной библиотеке.NET, у вас может быть простой старый проект модульных тестов. Возможно, вы также захотите заглянуть в инфраструктуру BizUnit ( https://bizunit.codeplex.com/) - к ней нужно немного потрудиться, но это отличный ресурс для написания модульных тестов BizTalk.

Другие вопросы по тегам