cours-nodejs-exercise-testers

Ce dépot permet de tester et évaluer une solution à un des exercices de mon cours Node.js.

Usage no npm install needed!

<script type="module">
  import coursNodejsExerciseTesters from 'https://cdn.skypack.dev/cours-nodejs-exercise-testers';
</script>

README

Scripts d'évaluation d'exercices de cours Node.js

Ce dépot permet de tester et évaluer une solution à un des exercices de mon cours Node.js.

Il utilise Docker pour exécuter le serveur de chaque étudiant dans un contexte isolé. (sandbox)

Pour récupérer la liste des dépôts git rendus par les étudiants sur Google Classroom, utiliser adrienjoly/classroom-assignments-cli: a CLI to download assignements submitted by students on Google Classroom en amont.

Usage

Télécharger un dépôt d'étudiant puis l'évaluer dans la foulée

$ npm install # installer les dépendances du script d'évaluation (test.js)
$ TESTER=test-ex-1-3.js ./test-in-docker-from-git.sh https://gitlab.eemi.tech/xxx/express-chatbot.git
$ ./list-grades.sh

Téléchager plusieus dépôts, puis évaluer dans un second temps

# 1. Téléchargement des dépôts
$ git clone https://github.com/student1/repo.git --depth 10 ./student-repos/student1-repo
$ git clone https://github.com/student2/repo.git --depth 10 ./student-repos/student2-repo
# Évaluation des dépôts téléchargés
$ TESTER=test-ex-1-5.js ./eval-student-submissions.sh ./student-repos/*
$ ./list-grades.sh

Pro-tip: utiliser classroom-assignment-cli pour générer ces scripts

# Commencer par suivre les instructions d'installation de classroom-assignment-cli, puis:
$ ./gclass generate-test-script <google_classsroom_id> <assignment_id>

Test des solutions

Initialisation

$ source .env.sh # définit la variable d'environnement GH_TOKEN pour accéder aux dépôts privés, générée depuis https://github.com/settings/tokens
$ npm test