2010-11-01 2 views
2

Я написал свой собственный менеджер настроек, сериализация предоставляется BinaryFormatter. Это классно, потому что он может загружать и сохранять класс с отсутствующим/добавленным свойством, и я могу определить значение по умолчанию в отсутствующем свойстве. Но у меня есть проблема, чтобы протестировать его с помощью модульного теста.Сценарий тестирования блока - как его проверить?

Я делаю это сам. Как сделать этот сценарий автоматически?

  1. Напишите класс с 1 свойством.
  2. Сериализовать этот класс моим менеджером настроек.

Перед запуском нового теста:

  1. Мануалов класса редактирования и добавления нового свойства, поэтому у нас есть два свойства. Новый с установленным значением по умолчанию в методе [OnDeserialized].
  2. Запуск полностью нового теста после восстановления нового класса.
  3. Класс десериализуется из двоичного файла.
  4. Новое свойство имеет значение по умолчанию.

Это работает как шарм, но я не хочу этого делать сам. Мне нужен автоматический тест.

Пожалуйста, не спрашивайте мою архитектуру, сосредоточьтесь на моей проблеме.

Положительный путь: Запись? Другой класс? Как насчет пространств имен?

ответ

3

Вы можете сделать два класса для сериализации и один для де-сериализации и использовать SerializationBinder при де-сериализации в другом классе.

+0

Thanx, звучит хорошо! – Simon

1

Если ваши классы просты, вы действительно можете их компилировать на лету, загружать сборку, выполнять сериализацию, выгружать сборку. Скомпилируйте «обновленный» класс, перезагрузите сборку и проверите десериализацию.

Возможно, this link поможет вам начать работу!

+0

Да, это также может работать! Thanx! – Simon

Смежные вопросы