谁能解释如何让具有多个输入的 BizTalk 映射的单元测试工作?
我一直很高兴地使用 Michael Stephenson博客上的示例来测试我的地图,但我刚刚尝试了我的第一个多输入地图,但它失败了 :-(
我使用 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);