Encore une autre affectation JavaScript. Il existe de nombreuses ressources JavaScript interactives pour les débutants, mais la plupart d'entre elles sont en ligne et ne couvrent pas le flux de travail de programmation moderne. Il existe d'excellentes ressources de formation sur GitHub (https://github.com/rmurphey/js-esssment, https://github.com/mrdavidlag/javascript-koans, https://github.com/vasanthk/js bits, etc.) mais ils ne simulent pas exactement le processus de programmation quotidienne. La motivation de ce projet est donc de montrer le processus TDD à l'état sauvage aux débutants. Les tests d'assurance sont mis en œuvre de diverses manières pour ressentir une différence et acquérir l'expérience de quelle manière est bonne, ce qui est mauvais et ce qui est laid.
Une autre idée est de préparer une affectation pour couvrir toutes les fonctions JavaScript standard, aux compétences de forage et de maîtrise. Certaines tâches sont pratiques, mais certaines tâches sont plutôt synthétiques.
Et la dernière idée est d'obtenir des stagiaires à travailler à l'aide d'un test unitaire et à se sentir mal à l'aise lors de la programmation sans tests.
git clone https://github.com/<your-account>/js-assignments.git à partir de la ligne de commande pour télécharger le dépôt.'it-shark-pro' par le nom de votre compte). git add README.md
git commit -m " Update the links "
git push origin masternpm install à partir du dossier du référentiel pour télécharger les modules requis. Tous les modules dépendants seront situés dans le dossier Node_Modules .npm test pour exécuter tous les tests. Vous pouvez exécuter un fichier unique en le faisant passer en tant que npm test ./test/01-strings-tests.js .node_modules - app dependences restored by npm install command, you can delete this folder and restore later again.
task - folder with tasks modules, it's your main folder.
test - folder with tests modules to verify the tasks completion.Vous êtes maintenant prêt à implémenter des affectations. Les modules de tâches sont situés dans le dossier des tâches . Chaque module se compose de plusieurs tâches pour un sujet spécifié. Chaque tâche est généralement une fonction régulière:
/**
* Returns the result of concatenation of two strings.
*
* @param {string} value1
* @param {string} value2
* @return {string}
*
* @example
* 'aa', 'bb' => 'aabb'
* 'aa','' => 'aa'
* '', 'bb' => 'bb'
*/
function concatenateStrings ( value1 , value2 ) {
throw new Error ( 'Not implemented' ) ;
}Résoudre cette tâche en utilisant les étapes TDD suivantes:
throw new Error ( 'Not implemented' ) ;et exécutez à nouveau les tests unitaires. Trouver un test échoué (rouge). Il est maintenant temps de le réparer!
Pour déboguer les tests, vous pouvez utiliser l'inspecteur de nœud . Pour l'installer, exécutez simplement npm install -g node-inspector dans votre terminal. Ensuite, suivez les étapes suivantes:
debugger; à la première ligne de votre tâche.npm run test-debug ./test/01-strings-tests.js .node-inspector et copier le lien à partir de la sortie.debugger; de votre tâche.Il existe un moyen plus facile de déboguer pour les débutants avec un code Visual Studio gratuit:
launch.json par défaut.jsonlaunch.json dans l'IDE, définissez les propriétés "programme" et "args" (Valeur "Args" vide Exécutez tous les tests, pour exécuter un test particulier Spécifiez ce fichier de test dans "Args"): {
"version": "0.2.0",
"configurations": [
{
...
"program": "${workspaceRoot}/node_modules/mocha/bin/_mocha",
...
"args": ["./test/01-strings-tests.js"],
...
},
...
]
}
F5 pour exécuter le débogage.launch.json est stocké dans le dossier du projet .vscode . N'hésitez pas à contribuer à ce projet. De nouvelles tâches et katas sont les bienvenus.
Pour corriger l'exécution de lined:
npm run lint -- --fix