Otra tareas de JavaScript. Hay muchos recursos interactivos de JavaScript para principiantes, pero la mayoría de ellos están en línea y no cubren el flujo de trabajo de programación moderno. Hay algunos excelentes recursos de capacitación en GitHub (https://github.com/rmurphey/js-essessment, https://github.com/mrdavidlaing/javascript-koans, https://github.com/vasanthk/js-bits etc) pero no están simulando el proceso de la programación diaria. Entonces, la motivación de este proyecto es mostrar el proceso TDD en la naturaleza a los principiantes. Las pruebas de avance se implementan de varias maneras para sentir una diferencia y ganar la experiencia de qué manera es buena, qué es malo y lo feo.
Otra idea es preparar la asignación para cubrir todas las funciones estándar de JavaScript, a las habilidades de perforación y dominio. Algunas tareas son prácticas, pero algunas tareas son bastante sintéticas.
Y la última idea es incorporar a los alumnos para trabajar usando una prueba unitaria y sentirse incómodo al programar sin pruebas.
git clone https://github.com/<your-account>/js-assignments.git desde la línea de comando para descargar el repositorio.'it-shark-pro' con el nombre de su cuenta). git add README.md
git commit -m " Update the links "
git push origin masternpm install desde la carpeta de repositorio para descargar los módulos requeridos. Todos los módulos dependientes se ubicarán en la carpeta Node_Modules .npm test para ejecutar todas las pruebas. Puede ejecutar un solo archivo pasándolo como 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.Ahora está listo para implementar tareas. Los módulos de tareas se encuentran en la carpeta de tareas . Cada módulo consta de varias tareas para el tema especificado. Cada tarea suele ser una función regular:
/**
* 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' ) ;
}Resuelva esta tarea utilizando los siguientes pasos de TDD:
throw new Error ( 'Not implemented' ) ;y ejecute las pruebas unitarias nuevamente. Encuentre una prueba fallida (rojo). ¡Ahora es el momento de arreglarlo!
Para depurar las pruebas puede usar el inspector de nodos . Para instalarlo, simplemente ejecute npm install -g node-inspector en su terminal. Luego siga los siguientes pasos:
debugger; a la primera línea de tu tarea.npm run test-debug ./test/01-strings-tests.js .node-inspector y el enlace de copia desde la salida.debugger; de tu tarea.Hay una manera más fácil de depurar para principiantes con código de estudio de Visual gratuito:
launch.json predeterminado.jsonlaunch.json {
"version": "0.2.0",
"configurations": [
{
...
"program": "${workspaceRoot}/node_modules/mocha/bin/_mocha",
...
"args": ["./test/01-strings-tests.js"],
...
},
...
]
}
F5 para ejecutar la depuración.launch.json se almacena en la carpeta del proyecto .vscode . Siéntase libre de contribuir a este proyecto. Las nuevas tareas y los katas son bienvenidos.
Para arreglar las pelusas de ejecución:
npm run lint -- --fix