Конвертировать linq.Xelement в поток для XMLTextReader - PullRequest
5 голосов
/ 16 ноября 2010

Я создаю файл XML в моем модульном тесте, используя

Public Sub rssParserTest
   Dim Const rssUri as String = "rssTestFile.xml"
   Dim xmlFile = <rss version="2.0">
   ...
                 </rss>
   xmlFile.save(rssUri)

  rssParser(rssUri)
End Sub

и использование URI с XMLTextReader

Public Sub rssParser(ByVal rssUri as string)
    Dim rssXml = New XmlTextReader(rssUri)
    rssXml.read
    ...
End Sub

Я хочу удалить зависимость модульного теста от физического файла и использовать вместо этого поток, но мои усилия пока что сошли на нет. (Это лучшая практика?)

Я использую NMock2 для насмешек, если я должен что-то делать с этим.

Ответы [ 2 ]

9 голосов
/ 16 ноября 2010

Вместо форсирования XmlTextReader через поток, если вам просто нужно XmlReader, вы можете просто использовать XNode.CreateReader. Это гораздо более простой подход, чем сохранение в поток, если только ваш API не заставит использовать поток или XmlTextReader.

.
0 голосов
/ 16 ноября 2010

xmlFile - это XDocument, который можно сохранить в MemoryStream, подробности см. В следующем вопросе:

Затем вы можете заставить свой метод принимать общий Stream, который может быть MemoryStream (в модульном тесте) или FileStream.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...