Модульные тесты не могут найти классы разработки после обновления Unity
Я только недавно обновил свое приложение Unity, и у меня возникают некоторые проблемы с переносом (любым из) моих модульных тестов. Похоже, что ни один из моих общих объектов класса (из Assembly-CSharp) не доступен в этих тестах. Я перепробовал множество вещей, и после поиска в Интернете я еще ничего не нашел. Вот моя установка...
Вот моя структура папок Актива. Я добавил папку "Редактор" и тест "GivenA" через тестовый запуск.
Вот как все выглядит в VS.
А вот и настройки файла Tests.asmdef
Все это работало отлично до моего обновления Unity, любая помощь будет с благодарностью. Если потребуется дополнительная информация, я могу предоставить и это. Спасибо!
Все, что я сейчас пытаюсь сделать, это включить этот код в файл GivenAControllerHealth.cs:
var controllerHealth = new ControllerHealth();
Я получаю сообщение об ошибке "Не удалось найти тип пространства имен" ControllerHealth "."
1 ответ
Я нашел решение, но если у кого-нибудь есть полезное объяснение (хотя я думаю, что это, вероятно, просто общее отсутствие знаний по тестированию Unity), я был бы очень признателен.
Мой метод добавления теста был через Test Runner на вкладке Play. Видимо, ни один из этих объектов MonoDevelop не доступен на данный момент? Я видел упоминание об использовании Selenium для игровых тестов, и я должен предположить, что он обрабатывает его так, как будто элементы недоступны, кроме как через метод Find->GetComponent. В любом случае, я просто вручную добавил папку "Редактор" и импортировал свои тесты, и они отлично работают. Похоже, это по умолчанию все на вкладке "Редактировать" в Test Runner, так что это должно быть ключом.
В режиме "Play" у вас есть возможность "Создать папку сборки сборки PlayMode"
Что не работает в моих настоящих тестах "юнит" / "функциональность"
Поэтому я вручную добавил папку "Редактор", в которой по умолчанию тесты перешли в режим "Редактировать"
Теперь все идет гладко, жизнь снова налаживается, и я могу перейти к кодированию. :)
Надеюсь, это не бессвязная болтовня, и это поможет кому-то, кто столкнется с проблемой позже!