Некоторое время назад, дабы не заработать дистрофию головного мозга (за два-то года службы в армии) плотно занялся вопросами unit-тестирования попытавшись применить его для одной из своих доработок. Что из этого получилось описано в продолжении статьи.

Некоторое время назад, дабы не заработать дистрофию головного мозга (за два-то года службы в армии) плотно занялся вопросами unit-тестирования попытавшись применить его для одной из своих доработок. Что из этого получилось я и опишу ниже.

Чтобы потом не было вопросов сразу расставлю все точки над i, описав все имевшие место предпосылки и ограничения, дабы стало видно почему выбрано то или иное решение. Итак:

1.Поскольку проект кроссплатформенный, то тесты должны запускаться как минимум на тех же платформах что и проект. Плюсом будет запуск на большем количестве платформ нежели заявлено для проекта.
2.Проект написан на C++.
3.Unit-тесты дожны быть просты в написании.
4.Необходим некий механизм пакетного запуска автотестов с генерацией простеньких отчетов по отработавшим автотестам.

Немного в общем-то требований )).

Исходя из всего вышеперечисленного было принято решение писать все unit-тесты на Питоне. Создавать такие тесты будет достаточно просто + тесты будут кроссплатформенными (пока что Питон поддержан на большем числе платформ чем мой проект). На питоне же было решено писать и тулзу для покетного запуска тестов.