Поблочное тестирование функция это производит через XmlWriter?

Создайте выражение, которое соответствует, и используйте! Match () ... (логическое отрицание) Это, вероятно, так или иначе делает grep ...

5
задан Peter Mortensen 8 October 2009 в 20:00
поделиться

2 ответа

Первое, что кажется неправильным в отношении функции сохранения, заключается в том, что на самом деле у нее есть две обязанности: она выбирает хранилище и сериализует граф объектов в это хранилище. Я бы начал с разделения ответственности:

public void Save(XmlWriter xmlWriter)
{
    XDocument xDoc = new XDocument(new XElement("BookmarkCollection",
        Items.Select(bookmark => new XElement("Bookmark",
            new XElement("Name", bookmark.Name),
            new XElement("Link", bookmark.Link),
            new XElement("Remarks", bookmark.Remarks),
            new XElement("DateAdded", bookmark.DateAdded),
            new XElement("DateLastAccessed", bookmark.DateLastAccessed))
        )
    ));
    xDoc.Save(xmlWriter);
}

public void Save()
{
    using (XmlWriter xmlWriter = XmlWriter.Create(m_StreamProvider.SaveFileStream(m_FilenameProvider.Filename)))
    {
        Save(xmlWriter);
    }
}

Что касается модульного теста, вы можете определить схему XSD, а затем проверить результат XML на соответствие этой схеме, а также проверить, что он содержит значения, которые вы задаете. ищу.

4
ответ дан 15 December 2019 в 01:06
поделиться

В таких случаях я использую XNode.DeepEquals для сравнения экземпляров XML друг с другом, потому что он сравнивает структуру, а не байты.

0
ответ дан 15 December 2019 в 01:06
поделиться
Другие вопросы по тегам:

Похожие вопросы: