Это очень странная просьба о совете, на которую я действительно чувствую, что нет реального ответа. В моем проекте у меня есть процедуры архивирования для различных объектов, которые использовались для логических вычислений, я архивирую эти элементы для аудита и для проверки ошибок вычислений или подтверждения корректности на более позднем этапе. Я работаю с Entity Framework, и все немного отличается от вашего собственного проекта.
Я использую исходный объект, изменяю его напрямую, создаю клон измененного элемента, возвращаю исходный элемент из хранилища и сохраняю изменения соответствующим образом. Объект не возвращается к исходному, если он никогда не используется расчетом, в этих случаях я сохраняю непосредственно над этим объектом вместе с различными отношениями, которые существуют с другими объектами.
Возможно, это звучит долго, но я вас уверяю - пока мне кажется, что мне проще всего работать с EF в моей ситуации.
Моя проблема с этими процедурами архивирования заключается в том, что со временем, когда я внедряю дополнительные функции - я иногда, не зная, разбиваю критический код до такой степени, что мне приходится регрессивно тестировать все решение от начала до конца, чтобы гарантировать что требования к архивированию остаются неизменными.
Существует ли какой-либо подход модульного тестирования или автоматизированная методология для проверки такого рода требований. Это ускорило бы развертывание пакетов, сократив мое собственное ручное тестирование.
Любые советы или ссылки на симлары приветствуются.