ยังมีการมอบหมาย JavaScript อีกครั้ง มีแหล่งข้อมูล JavaScript แบบโต้ตอบมากมายสำหรับผู้เริ่มต้น แต่ส่วนใหญ่เป็นออนไลน์และไม่ครอบคลุมเวิร์กโฟลว์การเขียนโปรแกรมที่ทันสมัย มีแหล่งข้อมูลการฝึกอบรมที่ยอดเยี่ยมเกี่ยวกับ GitHub (https://github.com/rmurphey/js-assessment, https://github.com/mrdavidlaing/javascript-koans, https://github.com/vasanthk/js-bits) ดังนั้นแรงจูงใจของโครงการนี้คือการแสดงกระบวนการ TDD ในป่าสู่ผู้เริ่มต้น การทดสอบการประเมินจะถูกนำไปใช้ในรูปแบบต่าง ๆ เพื่อให้รู้สึกถึงความแตกต่างและได้รับประสบการณ์ในลักษณะที่ดีสิ่งที่ไม่ดีและสิ่งที่น่าเกลียด
อีกแนวคิดหนึ่งคือการเตรียมการมอบหมายให้ครอบคลุมฟังก์ชั่น JavaScript มาตรฐานทั้งหมดเพื่อการขุดเจาะและทักษะการเรียนรู้ งานบางอย่างใช้งานได้จริง แต่งานบางอย่างค่อนข้างสังเคราะห์
และความคิดสุดท้ายคือการทำให้ผู้เข้ารับการฝึกอบรมทำงานโดยใช้การทดสอบหน่วยและรู้สึกไม่สบายใจเมื่อเขียนโปรแกรมโดยไม่ต้องทดสอบ
git clone https://github.com/<your-account>/js-assignments.git จากบรรทัดคำสั่งเพื่อดาวน์โหลด repo'it-shark-pro' ด้วยชื่อบัญชีของคุณ) git add README.md
git commit -m " Update the links "
git push origin masternpm install จากคุณเพื่อดาวน์โหลดโมดูลที่ต้องการ โมดูลที่ขึ้นอยู่กับทั้งหมดจะอยู่ในโฟลเดอร์ Node_Modulesnpm test เพื่อเรียกใช้การทดสอบทั้งหมด คุณสามารถเรียกใช้ไฟล์เดียวโดยส่งผ่านเป็นอาร์กิวเมนต์ npm test ./test/01-strings-tests.jsnode_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.ตอนนี้คุณพร้อมที่จะใช้งานที่ได้รับมอบหมาย โมดูลงานอยู่ในโฟลเดอร์ งาน แต่ละโมดูลประกอบด้วยงานหลายอย่างสำหรับหัวข้อที่ระบุ แต่ละงานมักจะเป็นฟังก์ชั่นปกติ:
/**
* 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' ) ;
}แก้ไขงานนี้โดยใช้ขั้นตอน TDD ต่อไปนี้:
throw new Error ( 'Not implemented' ) ;และเรียกใช้การทดสอบหน่วยอีกครั้ง ค้นหาการทดสอบหนึ่งครั้งล้มเหลว (สีแดง) ตอนนี้ถึงเวลาแก้ไขแล้ว!
ในการดีบักการทดสอบคุณสามารถใช้ ผู้ตรวจการโหนด ในการติดตั้งเพียงเรียกใช้ npm install -g node-inspector ในเทอร์มินัลของคุณ จากนั้นทำตามขั้นตอนถัดไป:
debugger; ถึงบรรทัดแรกของงานของคุณnpm run test-debug ./test/01-strings-tests.jsnode-inspector และคัดลอกลิงค์จากเอาต์พุตdebugger; จากงานของคุณมีวิธีที่ง่ายกว่าในการดีบักสำหรับผู้เริ่มต้นด้วยรหัส Visual Studio ฟรี:
launch.json และทำตามคำสั่งจาก https://code.visualstudio.com/docs/runtimes/nodejs#_debugging-your-node-applicationlaunch.json ใน IDE ตั้งค่าคุณสมบัติ "โปรแกรม" และ "args" (ว่างเปล่า "args" เรียกใช้การทดสอบทั้งหมดเพื่อเรียกใช้การทดสอบเฉพาะระบุไฟล์ทดสอบนี้ใน "args"): {
"version": "0.2.0",
"configurations": [
{
...
"program": "${workspaceRoot}/node_modules/mocha/bin/_mocha",
...
"args": ["./test/01-strings-tests.js"],
...
},
...
]
}
F5 เพื่อเรียกใช้การดีบักlaunch.json ถูกเก็บไว้ในโฟลเดอร์. .vscode Project อย่าลังเลที่จะมีส่วนร่วมในโครงการนี้ ยินดีต้อนรับงานใหม่และ katas
เพื่อแก้ไขการดำเนินการของผ้าสำลี:
npm run lint -- --fix