Unity 6.3
0 онлайн 77 гостей 3 в системе
Вход

14. Проверка сохранности состояния

Цели обучения

В этом разделе мы рассмотрим, как позволить переменным и информации в тестах пережить перезагрузку домена с помощью серийного кодирования.

Введение и мотивация

При перезагрузке домена все скрипты загружаются заново. Это означает, что большая часть данных в членах тестового класса теряется. Иногда это проблема: часть сведений может быть нужно сохранить и после перезагрузки домена.

Решением этой проблемы является сериализация. Если вы добавите атрибут [SerializeField] к соответствующему полю, то оно сохранит свое значение. Обратите внимание, что в Unity есть некоторые ограничения для сериализации, см. Unity Сериализация.

2010 год

Пример 14_PreserveTestState содержит решение предыдущего задания с одним отличием: теперь именем файла служит GUID.

Это означает, что для правильной очистки метод TearDown должен знать имя файла.

В настоящее время, при запуске теста в первый раз, TearDown не сработает, потому что ему не дано имя файла. При последующих запусках теста он не сработает из-за дублирования файлов с тем же скриптом C# в нем.

Задача состоит в том, чтобы исправить эту потерю информации о названии файла с помощью сериализации.

Решение

Решение простое. Просто добавьте атрибут [SerializeField] в поле имени файла. Решение включено в качестве примера 14_PreserveTestState_Solution.