Раздел справочной информации на сайте Minecraft пополнился сразу тремя публикациями. Посвящены они, на первый взгляд, достаточно банальным вещам, которые не содержат какой-то новой информации. Например, две статьи — это описание команд и рассказ о возможности создания NPC в Minecraft Bedrock.

В целом все три статьи направлены на то, чтобы проинформировать читателя о существовании отдельного справочного портала для тех, кто хочет разрабатывать аддоны для Minecraft Bedrock.

И поэтому третья статья из серии публикаций значительно интереснее — в ней рассказывается о GameTest Framework, добавленном в Minecraft Bedrock.

Что такое GameTest Framework

Несмотря на то, что статья на сайте Minecraft преподносит GameTest Framework как нечто новое, сам фреймворк был интегрирован в Minecraft ещё в феврале 2021 г. в бета-версии 1.16.210.60.

Чтобы запустить Minecraft с поддержкой GameTest Framework, необходимо включить его при создании мира. И читы тоже надо включить.

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

Тестирование и проверка того, как работает разрабатываемый аддон — это важнейшая часть создания игровых дополнений. Ты создаёшь что-то и проверяешь в игре, переделываешь и снова проверяешь в игре, и это могут быть сотни и тысячи проверок, на которые уходит времени не меньше, чем на саму разработку.

Фреймворк GameTest позволяет создавать такие небольшие проверки.

Для этого создаётся небольшой аддон, который содержит структуру — постройку, внутри которой нужно проводить тестирование. И скрипт, в котором описываются необходимые условия тестирования. Например, можно заспавнить определённых мобов, которые должны будут сразиться, а по результатам кто-то из них должен выжить. Или спрятаться. Или зарыться в землю. Тест будет считаться пройденным, если выполнено необходимое условие.

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

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

Например, тест на работу вагонетки можно запустить командой /gametest run minecarttest:turn.

Как создавать собственные тесты

Встроенные тесты интересны, но основное назначение фреймворка — это тестирование собственных разработок. И тут уже одной командой не обойтись.

Нужно создавать собственный тестовый аддон, который включает в себя структуры и тестирующие скрипты.

Подробную инструкцию с примерами можно найти здесь.

Добавлю, что разработчиками Minecraft выпущено дополнение для редактора Visual Studio Code, которое добавляет средства отладки кода, выполняемого GameTest Framework, что, безусловно, значительно упростит работу над созданием аддонов.

Use script and structures to build scaffolds and tests

Майк Амерлаан, Minecraft.net