Модульные тесты не могут найти классы разработки после обновления 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"

Что не работает в моих настоящих тестах "юнит" / "функциональность"

Поэтому я вручную добавил папку "Редактор", в которой по умолчанию тесты перешли в режим "Редактировать"

Теперь все идет гладко, жизнь снова налаживается, и я могу перейти к кодированию. :)

Надеюсь, это не бессвязная болтовня, и это поможет кому-то, кто столкнется с проблемой позже!

Другие вопросы по тегам