Я начал писать тестовый фреймворк специально для GML. Он называется hobo_test, и вы можете найти его на github. Цель состоит в том, чтобы предоставить набор объектов / скриптов, которые вы можете перетащить в любой проект (из средства поиска), а затем начать писать несколько простых тестов.
with(o_player)
{
before_lives = num_lives
take_damage();
it("should decrease the number of lives", before_lives-1, num_lives);
}
Это обновит счетчики на объекте TEST
, на котором будут отображаться результаты всех ваших тестов (зеленая точка - успех, красная - неудача). В случае неудачного теста он распечатает написанное вами заявление «следует» с ожидаемыми и фактическими результатами.
Я обнаружил, что ограничения GML заставили меня написать множество вспомогательных методов и бороться с отсутствием обработки исключений.
Насколько мне известно, это единственная существующая среда тестирования для GameMaker, и ей еще предстоит пройти долгий путь, чтобы обеспечить полную TDD при разработке игры. (Мне удалось написать клон сапера с текущей итерацией). Я планирую продолжить развитие проекта и, надеюсь, сделать его более надежным и простым в использовании.
person
Dan Bradbury
schedule
11.09.2014