1

自分のやりたいことが実現できるのだろうか。次のように、xml によって駆動される単体テストがあります。

[DataSource("Microsoft.VisualStudio.TestTools.DataSource.XML", 
            "|DataDirectory|\\MyFile.xml", 
            "TestMember", 
            DataAccessMethod.Sequential)]
[DeploymentItem("MyFile.xml")]
[TestMethod]
public void Hello()
{
    ...
}

MyFile.xml は次のようになります。

<TestMembers>
  <TestMember>
    <Name>Hello</Name>
    <id>1234</id>
    <MyComplexRow>
      <MySerializedInstanceOfClass>
        <BooleanProperty>true</BooleanProperty>
        <IntProperty>8</IntProperty>
        <MySerializedInstanceOfAnotherClass>
          <int>23</int>
          <bool>false</bool>
          <double>8.0</double>
        </MySerializedInstanceOfAnotherClass>
      </MySerializedInstanceOfClass>
    </MyComplexRow>
  </TestMember>
</TestMembers>

問題は、アクセスが正常に機能することですが、「スカラー」ではなく、多くの次元があるため、にTestContext.DataRow["Name"]アクセスできません...TestContext.DataRow["MyComplexRow"]Column 'MyComplexRow' does not belong to table TestMember.

では、Visual Studio をだまして、既存のクラスのシリアル化されたインスタンスを扱っていることを彼に知らせる方法はありますか? 同様に、おそらく既存のクラスを拡張します。

すべてを CDATA にラップしてから逆シリアル化できることはわかっていますが、それほどエレガントではありません。

ありがとう !

4

1 に答える 1