Skip to content

Latest commit

 

History

History
45 lines (27 loc) · 3.44 KB

tests.md

File metadata and controls

45 lines (27 loc) · 3.44 KB
description
Секретный соус Mirror.

Тесты

Многие разработчики удивлены тем, насколько стабильно работает Mirror по сравнению с тем, что они использовали раньше.

Это не случайно. Зеркало тщательно протестировано с помощью:

  • > 1400 юнит тестов
  • ~ 80% test coverage

[2021-06-17] Mirror Test Coverage of 79.6% - including all [Obsoletes]

{% hint style="success" %} Насколько нам известно, Mirror обладает самым высоким тестовым охватом из всех библиотек MonoBehaviournetworking для Unity. {% endhint %}

Другими словами, 80% нашего кода покрыто тестами, гарантирующими, что для заданных входных данных он всегда выдает правильный вывод. Вот что это означает на практике:

  • Если вы сообщаете об ошибке, мы обычно исправляем ее и добавляем тест, чтобы гарантировать, что это никогда не повторится.

    Если мы случайно введем ошибку, скорее всего, наши тесты обнаружат ее сразу же, прежде чем вы столкнетесь с ней в нашей игре.

  • Мы можем с уверенностью улучшить существующие функции. Если перезапись не приведет к точно такому же результату, как в предыдущей версии, то наши тесты поймают это.

{% hint style="success" %} Как правило, обнаружение ошибки в рабочей среде Mirror просто означает, что мы еще не проверили эту часть кода тестами. {% endhint %}

Если вы устанавливаете Mirror из Asset Store, тогда вы не увидите эти тесты, потому что мы не хотим, чтобы вы беспокоились о них. Они находятся только на GitHub.

Настройки Тестирования Кода

Чтобы провести тестирование, используйте пакет тестирования кода Unity и запустите все наши тесты в режиме редактирования.

Code Coverage settings

MirrorTest

Если вы хотите внести свой вклад в тесты или очистить существующие, милости просим, сделайте это!

Проверьте базовые классы MirrorEditModeTest и MirrorPlayModeTest. Они предоставляют некоторые удобные функции и настройки, которые мы используем для большинства наших тестов. Например, создание сетевого объекта с некоторыми сетевыми компонентами.