description |
---|
Секретный соус Mirror. |
Многие разработчики удивлены тем, насколько стабильно работает Mirror по сравнению с тем, что они использовали раньше.
Это не случайно. Зеркало тщательно протестировано с помощью:
- > 1400 юнит тестов
- ~ 80% test coverage
{% hint style="success" %} Насколько нам известно, Mirror обладает самым высоким тестовым охватом из всех библиотек MonoBehaviournetworking для Unity. {% endhint %}
Другими словами, 80% нашего кода покрыто тестами, гарантирующими, что для заданных входных данных он всегда выдает правильный вывод. Вот что это означает на практике:
-
Если вы сообщаете об ошибке, мы обычно исправляем ее и добавляем тест, чтобы гарантировать, что это никогда не повторится.
Если мы случайно введем ошибку, скорее всего, наши тесты обнаружат ее сразу же, прежде чем вы столкнетесь с ней в нашей игре.
-
Мы можем с уверенностью улучшить существующие функции. Если перезапись не приведет к точно такому же результату, как в предыдущей версии, то наши тесты поймают это.
{% hint style="success" %} Как правило, обнаружение ошибки в рабочей среде Mirror просто означает, что мы еще не проверили эту часть кода тестами. {% endhint %}
Если вы устанавливаете Mirror из Asset Store, тогда вы не увидите эти тесты, потому что мы не хотим, чтобы вы беспокоились о них. Они находятся только на GitHub.
Чтобы провести тестирование, используйте пакет тестирования кода Unity и запустите все наши тесты в режиме редактирования.
Если вы хотите внести свой вклад в тесты или очистить существующие, милости просим, сделайте это!
Проверьте базовые классы MirrorEditModeTest
и MirrorPlayModeTest
. Они предоставляют некоторые удобные функции и настройки, которые мы используем для большинства наших тестов. Например, создание сетевого объекта с некоторыми сетевыми компонентами.