Сценарий модульного тестирования - как это проверить? - PullRequest
2 голосов
/ 01 ноября 2010

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

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

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

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

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

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

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

Возможный способ: Reclection?Другой класс?А как насчет пространств имен?

Ответы [ 2 ]

3 голосов
/ 01 ноября 2010

Можно создать два класса: один для сериализации и один для десериализации и использовать SerializationBinder при десериализации другого класса.

1 голос
/ 01 ноября 2010

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

Может быть эта ссылка поможет вам начать!

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