Alexander Yakovlev 871a03c27f | ||
---|---|---|
morph | ||
parser | ||
unittest | ||
.gitignore | ||
README.md | ||
main3.lua |
README.md
Юниттесты для INSTEAD
Здесь я пытаюсь сделать юнит-тест простой игры. Чтобы его запустить, откройте папку unittest
как игру в SDL-INSTEAD или tiny-instead.
Подробнее см. библиотеку lust
В реальной игре придётся сделать символьные ссылки на все lua-файлы в папке unittest, чтобы инстед мог их найти по тем же путям.
Тестовая игра содержит простой пазл "ключ-замок", но приближенный к реальным паззлам:
Несколько вариантов решений
К замку должно подходить два разных ключа двумя разными способами. (В идеале каждый из этих ключей должен использоваться ещё где-то, но это уже усложнение.)
Это же не даёт использовать свойство with_key
.
Замок нельзя закрыть
Замок нельзя закрыть, после того как вы его открыли. Игрок не сможет случайно вернуть загадку после того, как её решил.
Единственный способ автотестов - это юнит-тест
Два пункта выше делают стандартный автоскрипт инстеда неприменимым: он может проверить только одно решение за раз и не сможет закрыть замок, чтобы попытаться по-другому. Нужно сооружать юнит-тесты.