Модульный тест RealmSwift для миграции Realm.io

Мне нужно написать единичный случай для миграции realm.io. Как смоделировать до и после Object Class?


person perwyl    schedule 28.10.2015    source источник


Ответы (1)


Одним из решений является предварительно сохраненный файл области (например, в пакете модульного тестирования) с версией схемы, из которой вы хотите протестировать миграцию. Ваш объект области в коде хранится в самой последней версии, а схема области на диске содержит более старую версию.

Взгляните на пример переноса .

В образце есть версии V0, V1 и V2 одного и того же объекта Person, а также три разных файла базы данных областей с разными версиями схемы default-v0.realm, default-v1.realm и default-v2.realm.

Затем один и тот же migrationBlock используется во всех версиях базы данных, чтобы убедиться, что он может правильно преобразовать любую возможную старую схему в новейшую V2.

person Edman    schedule 28.10.2015
comment
Спасибо! Как я мог пропустить это! - person perwyl; 28.10.2015
comment
Но разве открытие файла области и запуск миграции не изменяет файл на диске автоматически? Как бы вы запустили модульный тест во второй раз? - person Daniel; 30.10.2015
comment
Сделайте копию файла базы данных и используйте ее для запуска тестов. - person Edman; 30.10.2015