Ну, похоже, вы нарушаете несколько паттернов здесь. Это определенно будет очень сложно проверить.
Возможно, я смогу помочь вам немного сгладить вашу структуру, чтобы сделать ее более тестируемой.
Во-первых, ваша модель представления не должна сохранять состояние в файл! Ваша модель представления должна обновлять модель всякий раз, когда пользователь изменяет данные в одном из наборов данных, и ничего больше . Используйте двустороннюю привязку данных, чтобы позволить вашей модели представления знать, когда изменяется представление.
Сохранение состояния в файле должно выполняться в другой части программы, возможно, отдельным объектом команды, возможно в событии (много раз , где это должно происходить, зависит от структуры вашей программы, и Я могу только догадываться об этом). Независимо от того, где это происходит, она должна находиться за пределами вашей модели представления и вашей модели, и она должна использовать вашу модель для получения данных, которые она записывает в файл.
После некоторых незначительных изменений в вашем методе это должно быть полностью проверено. Дайте ему объект-заглушку модели (предпочтительно класс, который имеет только настройки пользовательской конфигурации) и отправьте его в город со своими поддельными данными.
Проверка написания файла становится вашей самой большой проблемой. Сложно автоматизировать.
Но проверяемый.