Усі вправи побудовані на тому, що ми даємо набір тестів, які не проходять, а людина запускає їх і домагається, щоб вони пройшли. Тож нам потрібно вибрати фреймворк для тестування. Якщо є кілька доступних фреймворків для тестування, нам треба буде зʼясувати, який із них підходить найкраще.
Для людей, які будуть виконувати вправи, важливо якнайшвидше почати працювати.
Загалом ми віддаємо перевагу інструментам зі стандартної бібліотеки, якщо вони є, а якщо ні, то прагнемо до сторонньої бібліотеки, яку широко використовують. Якщо є вибір між кількома поширеними бібліотеками, варто зважити на кілька чинників:
Памʼятаймо, що всі вправи на Exercism за своєю природою дуже малі, тож немає потреби в тій складності, якої іноді вимагають справжні проєкти.
Ухвалюючи ці рішення, документуймо їх у README.md репозиторію треку для контрибʼюторів і мейнтейнерів.
Зокрема, коли хтось надсилає внесок, який суперечить одному з цих рішень, дуже корисно мати змогу вказати не лише на сам висновок, а й трохи на те, чому це рішення було ухвалено.
Це полегшує вибір: просто закрити issue або pull request від контрибʼютора чи настав час переглянути рішення з огляду на нову інформацію.
Чим складніше було ухвалити рішення, тим важливіше задокументувати його докладно. (Наприклад, які компроміси ми зважували? Що схилило нашу інтуїцію в той чи інший бік? Що стало вирішальним?)