Unit testing BizTalk数据库查找functoid-单元测试
我正在为BizTalk实施单元测试 我可以对BizTalk映射进行单元测试,只要它不包含像Unit testing BizTalk数据库查找functoid-单元测试,unit-testing,biztalk,biztalk-2013,Unit Testing,Biztalk,Biztalk 2013,我正在为BizTalk实施单元测试 我可以对BizTalk映射进行单元测试,只要它不包含像数据库查找这样的外部functoid 有没有办法伪造数据库查找functoid,以便我可以正确地对BizTalk映射进行单元测试? 我已经试过提出的解决办法,但没有成功 我还试图找到一种使用Microsoft Fakes的方法,但我找不到需要伪造的组件。编辑:我第一次尝试回答时失败。这个有 我的BizTalk虚拟机上只有VS 2010,所以这是针对Moles的,但我希望对赝品也能起到同样的作用。它直接执行x
数据库查找
这样的外部functoid
有没有办法伪造数据库查找
functoid,以便我可以正确地对BizTalk映射进行单元测试?
我已经试过提出的解决办法,但没有成功
我还试图找到一种使用Microsoft Fakes的方法,但我找不到需要伪造的组件。编辑:我第一次尝试回答时失败。这个有 我的BizTalk虚拟机上只有VS 2010,所以这是针对Moles的,但我希望对赝品也能起到同样的作用。它直接执行xslt转换,并使用迂回(填充)的集合覆盖扩展对象集合。这里的Moled程序集是“C:\Program Files(x86)\Microsoft BizTalk Server 2010\Developer Tools\Microsoft.BizTalk.BaseFunctionoids.dll”
var inputStream=Assembly.getExecutionGassembly()
.GetManifestResourceStream(“TestProject.TestFile.xml”);
XPathDocument xpath=新的XPathDocument(inputStream);
var myFunctoids=新的Microsoft.BizTalk.BaseFunctionoids.Moles.MFunctoidScript();
myFunctoids.dblookupInt32StringString=(a、b、c、d、e)=>“1”;
myFunctoids.DBValueExtractInt32String=(a,b)=>“结果”;
myFunctoids.DBLookupShutdown=()=>“”;
XsltArgumentList extensionObjects=新XsltArgumentList();
extensionObjects.AddExtensionObject(“http://schemas.microsoft.com/BizTalk/2003/ScriptNS0",
myFunctoids.Instance);
var outputStream=new MemoryStream();
var myMap=(Microsoft.XLANGs.BaseTypes.TransformBase)new Map1();
Transform.Transform(xpath、ExtensionObject、outputStream);
outputStream.Position=0;
AreEqual(“result”,新的StreamReader(outputStream).ReadToEnd());
编辑:我第一次尝试回答失败。这个有
我的BizTalk虚拟机上只有VS 2010,所以这是针对Moles的,但我希望对赝品也能起到同样的作用。它直接执行xslt转换,并使用迂回(填充)的集合覆盖扩展对象集合。这里的Moled程序集是“C:\Program Files(x86)\Microsoft BizTalk Server 2010\Developer Tools\Microsoft.BizTalk.BaseFunctionoids.dll”
var inputStream=Assembly.getExecutionGassembly()
.GetManifestResourceStream(“TestProject.TestFile.xml”);
XPathDocument xpath=新的XPathDocument(inputStream);
var myFunctoids=新的Microsoft.BizTalk.BaseFunctionoids.Moles.MFunctoidScript();
myFunctoids.dblookupInt32StringString=(a、b、c、d、e)=>“1”;
myFunctoids.DBValueExtractInt32String=(a,b)=>“结果”;
myFunctoids.DBLookupShutdown=()=>“”;
XsltArgumentList extensionObjects=新XsltArgumentList();
extensionObjects.AddExtensionObject(“http://schemas.microsoft.com/BizTalk/2003/ScriptNS0",
myFunctoids.Instance);
var outputStream=new MemoryStream();
var myMap=(Microsoft.XLANGs.BaseTypes.TransformBase)new Map1();
Transform.Transform(xpath、ExtensionObject、outputStream);
outputStream.Position=0;
AreEqual(“result”,新的StreamReader(outputStream).ReadToEnd());
var inputStream = Assembly.GetExecutingAssembly()
.GetManifestResourceStream("TestProject.TestFile.xml");
XPathDocument xpath = new XPathDocument(inputStream);
var myFunctoids = new Microsoft.BizTalk.BaseFunctoids.Moles.MFunctoidScripts();
myFunctoids.DBLookupInt32StringStringStringString = (a, b, c, d, e) => "1";
myFunctoids.DBValueExtractInt32String = (a, b) => "result";
myFunctoids.DBLookupShutdown = () => "";
XsltArgumentList extensionObjects = new XsltArgumentList();
extensionObjects.AddExtensionObject("http://schemas.microsoft.com/BizTalk/2003/ScriptNS0",
myFunctoids.Instance);
var outputStream = new MemoryStream();
var myMap = (Microsoft.XLANGs.BaseTypes.TransformBase)new Map1();
myMap.Transform.Transform(xpath, extensionObjects, outputStream);
outputStream.Position = 0;
Assert.AreEqual("<expected>result</expected>", new StreamReader(outputStream).ReadToEnd());