Шаблон для создания задачника

В данном репозитории располагается минимальный набор файлов для создания задачника для курсов learn.javascript.ru.

Структура задачника

Где весь задачник разбит на модули, каждый модуль содержит в себе краткое описание занятия и задачи, а именно

  • x-module - модуль, где x это номер занятия (0-module и тд)
    • README.md - крактое описание занятия в формате md
    • x-task - практическое заняитие
      • src - исходники, которые будут скопированы студенту (там должно быть все, кроме решение)
        • index.js - файл с постановкой задачи, куда студент должен внести изменения
        • task.test.js - файл с тестами, про то как их писать смотри раздел Написание тестов
        • README.md - текстовая постановка задачи, отображается в веб интерфейс задачника
      • solution - файл с предлагаемым решением.

Написание тестов

Все src папки с задачами, должны иметь файл task.test.js, в котором содержаться тесты, проверяющие решение студента.

describe('0-module-1-task', () => {
  it('1+1=2', () => {
    expect(sum(1, 1)).toEqual(2);
  });
});

Обратите внимание, для корректности работы системы важно правильно называть describe, а именно {модль}-{задача}, и они должны совпадать с именами папок.

Как включить для курса

  1. Добавить в модель на сайте (workspace) равный имени репозтория, например tasks-js-for-programmers.
  2. После этого нужно настроить CI для того, чтобы он выгружал репозиторий