BizTalk тестирует карты с множественным вводом XML или это Inline C #, что проблема? - PullRequest
1 голос
/ 17 мая 2009

Может кто-нибудь объяснить, как заставить работать модульные тесты карт BizTalk с несколькими входами?

Я с радостью использовал примеры из Майкла Стивенсона blog для проверки своих карт, но я только что попробовал свою первую карту с несколькими входами, и она не работает: - (

Я использовал «Тестовую карту» VS2005, чтобы сначала сгенерировать входной экземпляр с двумя входными сообщениями, затем использовал разновидности этого файла в качестве тестовых входных данных ...

<ns0:Root xmlns:ns0="http://schemas.microsoft.com/BizTalk/2003/aggschema">
  <InputMessagePart_0>
    ...
  </InputMessagePart_0>
  <InputMessagePart_1>
    ...
  </InputMessagePart_1>
</ns0:Root>

Эти тестовые сообщения генерируют ожидаемый результат, когда я использую карту тестирования VS, но при попытке выполнить модульные тесты отсутствует раздел.

Единственное, о чем я могу думать, это о том, что на карте есть несколько функтоидов ... Сценарии, извлечение таблиц и циклы таблиц ...

В модульном тесте вызывается StreamingTransform.ScalableTransform ...

// This is the BizTalk Server 2006 way of calling 
mapInstance.StreamingTransform.Transform(inputStream, 
    mapInstance.TransformArgs, outputStream, resolver);
// This is the R2 way of calling
XmlReader xmlRdr = new XmlTextReader(inputStream);
mapInstance.StreamingTransform.ScalableTransform(xmlRdr, 
    mapInstance.TransformArgs, outputStream, 
    resolver, whitespaceCorrect);

и альтернативный подход использования Transform.Transform тоже не работает ...

XPathDocument doc = new XPathDocument(inputStream);
mapInstance.Transform.Transform(doc, mapInstance.TransformArgs, outputStream);

1 Ответ

1 голос
/ 18 июня 2009

Вы пробовали это:

mapInstance.Transform.Transform(
   multi-part input message filepath, out put file path);

Это работает для меня. Я объявил mapInstance объектом класса Map (не объявлен как TestableMapBase).

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