Ein weiterer JavaScript -Zuweisungen. Es gibt viele interaktive JavaScript -Ressourcen für Anfänger, aber die meisten sind online und decken den modernen Programmierworkflow nicht ab. Es gibt einige hervorragende Trainingsressourcen auf GitHub (https://github.com/rmurphey/js-asessment, https://github.com/mrdavidlaing/javascript-koans, https://github.com/vasanthk/js-bits usw. Die Motivation dieses Projekts besteht also darin, den Anfängern den TDD -Prozess in freier Wildbahn zu zeigen. Assingentests werden auf verschiedene Weise durchgeführt, um einen Unterschied zu spüren und die Erfahrung zu sammeln, wie gut, was schlecht und was hässlich ist.
Eine andere Idee ist die Vorbereitung der Zuordnung, um alle Standard -JavaScript -Funktionen zu decken, um Fähigkeiten zu bohren und zu beherrschen. Einige Aufgaben sind praktisch, aber einige Aufgaben sind eher synthetisch.
Die letzte Idee besteht darin, die Auszubildenden zu arbeiten, indem sie Unit -Tests bei der Programmierung ohne Tests unwohl fühlen.
git clone https://github.com/<your-account>/js-assignments.git aus der Befehlszeile zum Herunterladen des Repo aus.'it-shark-pro' durch deinen Kontonamen). git add README.md
git commit -m " Update the links "
git push origin masternpm install von Ihrem Repository -Ordner aus, um die erforderlichen Module herunterzuladen. Alle abhängigen Module befinden sich im Ordner node_modules .npm test um alle Tests auszuführen. Sie können eine einzelne Datei ausführen, indem Sie sie als Argument npm test ./test/01-strings-tests.js übergeben.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.Jetzt sind Sie bereit, Aufgaben zu implementieren. Aufgabenmodule befinden sich im Aufgabenordner . Jedes Modul besteht aus mehreren Aufgaben für ein bestimmtes Thema. Jede Aufgabe ist normalerweise eine reguläre Funktion:
/**
* 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' ) ;
}Beheben Sie diese Aufgabe mit den folgenden TDD -Schritten auf:
throw new Error ( 'Not implemented' ) ;und führen Sie die Einheitstests erneut aus. Finden Sie einen Test fehlgeschlagen (rot). Jetzt ist es Zeit, es zu reparieren!
Um Tests zu debuggen, können Sie den Knoteninspektor verwenden. Um es zu installieren, führen Sie einfach npm install -g node-inspector in Ihrem Terminal aus. Befolgen Sie dann die nächsten Schritte:
debugger; zur ersten Zeile Ihrer Aufgabe.npm run test-debug ./test/01-strings-tests.js aus.node-inspector und kopieren Sie den Link aus der Ausgabe.debugger; von Ihrer Aufgabe.Es gibt eine einfachere Möglichkeit, für Anfänger mit kostenlosem Visual Studio -Code zu debuggen:
launch.json zu erstellen.jsonlaunch.json der IDE in der IDE, setzen Sie das Eigenschaften "Programm" und "Argums" (leere "Argumente" Wert Führen Sie alle Tests aus, um einen bestimmten Test auszuführen. Geben Sie diese Testdatei in "Args" an): {
"version": "0.2.0",
"configurations": [
{
...
"program": "${workspaceRoot}/node_modules/mocha/bin/_mocha",
...
"args": ["./test/01-strings-tests.js"],
...
},
...
]
}
F5 , um Debugg auszuführen.launch.json wird im .vscode -Projektordner gespeichert. Fühlen Sie sich frei, zu diesem Projekt beizutragen. Neue Aufgaben und Katas sind willkommen.
So beheben Sie Ausführungsausführungen: Ausführende Ausführung:
npm run lint -- --fix