1

谁能解释如何让具有多个输入的 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);
4

1 回答 1

1

你有没有试过这个:

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

这个对我有用。我已声明mapInstanceMap该类的对象(未声明为TestableMapBase)。

于 2009-06-18T09:48:18.453 回答