Вероятно, есть несколько способов приблизиться к этому:
Похоже, что вы после модульных тестов на основе состояния, но тестовые данные широко представлены в хранилище данных.Вы можете использовать это хранилище данных для создания некоторого состояния (объектов) в c #, генерируя соответствующие «наборы данных», а затем используйте это.
Другой вариант может заключаться в том, чтобы ограничить данные в хранилище тестовых данных.это служит соответствующим набором данных, а затем некоторые фабрики / хранилища / DAO создают требуемые объекты непосредственно из хранилища данных.Набор данных может быть извлечен в гораздо меньшую базу данных, которая сохраняется где-то в доступном месте или даже может быть извлечена в какой-то другой формат (xml, json) и извлечен оттуда.
Мне известнолюбого картографического программного обеспечения, которое собирается производить данные из базы данных, но я думаю, что, вероятно, не слишком много усилий, чтобы просто написать что-то самостоятельно, поскольку это, вероятно, довольно специфический фрагмент данных, на который вы ссылаетесь.
Я действительно не вижу ничего плохого в получении тестовых данных из базы данных для тестирования на основе состояния;особенно, если он охватывает приличное количество возможностей.
Вы можете зайти так далеко, что создадите атрибут, который вводит тестовые значения, но извлекает их через некоторую реализацию интерфейса.По линиям Атрибут TestCase .Он будет немного более сложным, чем атрибут TestCase
, и может быть определенными атрибутами, которые знают, как извлечь данные.
update :
Я только что прочиталответ, предоставленный p | a | x, и мы, кажется, думаем в том же духе:)