Я использую NDbunit для модульного тестирования функциональности моих методов и базы данных. Для работы NDbunit сначала загружает файл схемы xml (.xsd), а затем считывает из него все данные, которые будут помещены в базу данных. Вот мой файл схемы xml MessageDS.xsd:
<xs:schema id="MessageDS"
xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"
xmlns:msprop="urn:schemas-microsoft-com:xml-msprop"
targetNamespace="http://tempuri.org/MessageDS.xsd"
elementFormDefault="qualified"
xmlns="http://tempuri.org/MessageDS.xsd"
xmlns:mstns="http://tempuri.org/MessageDS.xsd"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
>
<xs:element name="MessageDS" msdata:IsDataSet="true" msdata:UseCurrentLocalexmlns="true" msprop:Generator_MessageDSName="MessageDS" msprop:Generator_DataSetName="MessageDS">
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="MESSAGE">
<xs:complexType>
<xs:sequence>
<xs:element name="CREATED_AT" type="xs:dateTime" />
<xs:element name="SUBJECT" type="xs:string" />
<xs:element name="MESSAGE" type="xs:string" />
<xs:element name="FROM" type="xs:string" />
<xs:element name="TO" type="xs:string" />
<xs:element name="TO_EMAIL" type="xs:string" />
<xs:element name="EMAIL_SENT_AT" type="xs:dateTime" />
</xs:sequence>
<xs:attribute name="ID" type="xs:int" use="required" />
</xs:complexType>
</xs:element>
</xs:choice>
</xs:complexType>
</xs:element>
</xs:schema>
Вот мой файл данных xml Message.xml:
<MessageDS xlmns="http://tempuri.org/MessageDS.xsd">
<MESSAGE ID="1">
<FROM>Test User 2</FROM>
<TO>Test User 1</TO>
<MESSAGE>
</MessageDS>
Первоначально я просто использовал ссылки dll для NDbunit, но в конце концов я загрузил исходный код и начал отлаживать проблемы. Я заметил, что после чтения файла схемы xml в файле xml он не загружается должным образом в набор данных (System.Data.DataSet). Единственный xml, который написан в:
<MessageDS xmlns="http://tempuri.org/MessageDS.xsd" />
По какой-то причине мои объекты MESSAGE не считываются в файл xml. Я не уверен, что это связано с тем, что мой xml-файл не создан должным образом в соответствии с файлом схемы xml или что-то еще является причиной. Я пытался следовать примерам из https://code.google.com/p/ndbunit/wiki/QuickStartGuide для NDbunit, и я также просмотрел файлы xml в тестовых файлах для NDbunit.