ソースとしてXMLを持ち、ターゲットとしてフラットファイルスキーマを持つマップの単体テストを作成しました。
マップの「TestMapOutput」プロパティをXMLまたはネイティブに設定できます。次に、ソリューションエクスプローラーでマップを右クリックし、[テストマップ]を選択すると、うまく機能します。[TestMap出力]プロパティで選択した値に応じて、XMLファイルまたはフラットファイルのいずれかが表示されます。どちらの場合も、予想されるすべてのフィールドに、入力XMLドキュメントからの正しい値が入力されます。
Microsoft.BizTalk.TestTools.Mapper.TestableMapBaseクラスのTestMapメソッドを使用して単体テストを実行すると、問題が発生します。「オブジェクト参照がオブジェクトのインスタンスに設定されていません」というエラーが発生します。スタックトレースは次のとおりです。
at Microsoft.BizTalk.TOM.CXSDSchemaTree.CreateNativeInstance(String strXMLInstFileName, String strNativeInstanceOutputFileName, InstanceGenerationOptions options, ITOMErrorInfo[]& errInstanceCreationErrors)
at Microsoft.BizTalk.TOM.CXSDSchemaTree.CreateNativeInstanceFromXMLInstance(String strXMLInstFileName, String strNativeInstFileName, ITOMErrorInfo[]& errInstCreationErrors)
at Microsoft.BizTalk.TestTools.Mapper.TestableMapBase.TestMap(String inputInstanceFilename, InputInstanceType inputType, String outputInstanceFilename, OutputInstanceType outputType)
at x.Int.WMS.Testing.Unit.UnitTests.FromAx.UnitTest_CanonicalCustomer_2_MLS_MRE.CallMap(TestableMapBase target) in C:\Development\x.Int.WMS\Dev\V1.0\Src\Solutions\WMS\x.Int.WMS.Testing.Unit\UnitTests\FromCanonical\UnitTest_CanonicalCustomer_2_MLS_MRE.cs:line 68
at x.Int.WMS.Testing.Unit.UnitTests.FromAx.UnitTest_CanonicalCustomer_2_MLS_MRE.SetupTest() in C:\Development\x.Int.WMS\Dev\V1.0\Src\Solutions\WMS\x.Int.WMS.Testing.Unit\UnitTests\FromCanonical\UnitTest_CanonicalCustomer_2_MLS_MRE.cs:line 33
at x.Int.WMS.Testing.Unit.UnitTests.FromAx.UnitTest_CanonicalCustomer_2_MLS_MRE.RecordID_IsMapped() in C:\Development\x.Int.WMS\Dev\V1.0\Src\Solutions\WMS\x.Int.WMS.Testing.Unit\UnitTests\FromCanonical\UnitTest_CanonicalCustomer_2_MLS_MRE.cs:line 45
何か案は?