بعد مهام JavaScript أخرى. هناك الكثير من موارد JavaScript التفاعلية للمبتدئين ، ولكن معظمهم على الإنترنت ولا يغطي سير عمل البرمجة الحديثة. هناك بعض الموارد التدريبية الممتازة على Github (https://github.com/rmurphey/js-assessment ، https://github.com/mrdavidlaing/javascript-koans ، https://github.com/vasanthk/js-bits etc) ولكنها ليست محاكاة بالضبط عملية البرامج اليومية. لذا فإن دافع هذا المشروع هو إظهار عملية TDD في البرية للمبتدئين. يتم تنفيذ اختبارات التأكيد بطرق مختلفة للشعور بالفرق واكتساب التجربة ما هي الطريقة الجيدة وما هو سيء وما هو قبيح.
فكرة أخرى هي إعداد المهمة لتغطية جميع وظائف JavaScript القياسية ، للمهارات الحفر وإتقان. بعض المهام عملية ، ولكن بعض المهام اصطناعية إلى حد ما.
والفكرة الأخيرة هي إدخال المتدربين في العمل باستخدام اختبار الوحدة والشعور بعدم الارتياح عند البرمجة دون اختبارات.
git clone https://github.com/<your-account>/js-assignments.git من سطر الأوامر لتنزيل الريبو.'it-shark-pro' باسم حسابك). git add README.md
git commit -m " Update the links "
git push origin masternpm install من مجلد المستودع الخاص بك لتنزيل الوحدات النمطية المطلوبة. سيتم تحديد جميع الوحدات التابعة في مجلد Node_Modules .npm test لتشغيل جميع الاختبارات. يمكنك تشغيل ملف واحد عن طريق تمريره كوسيطة 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.أنت الآن مستعد لتنفيذ المهام. توجد وحدات المهام في مجلد المهمة . تتكون كل وحدة من عدة مهام للموضوع المحدد. عادة ما تكون كل مهمة وظيفة منتظمة:
/**
* 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' ) ;وتشغيل اختبارات الوحدة مرة أخرى. العثور على اختبار واحد فشل (أحمر). الآن حان الوقت لإصلاحه!
لتصحيح الاختبارات ، يمكنك استخدام Node Inspector . لتثبيته ، قم فقط بتشغيل npm install -g node-inspector في المحطة الخاصة بك. ثم اتبع الخطوات التالية:
debugger; إلى السطر الأول من مهمتك.npm run test-debug ./test/01-strings-tests.js .node-inspector ونسخ الرابط من الإخراج.debugger; من مهمتك.هناك طريقة أسهل للتصحيح للمبتدئين برمز Visual Studio المجاني:
launch.jsonlaunch.json {
"version": "0.2.0",
"configurations": [
{
...
"program": "${workspaceRoot}/node_modules/mocha/bin/_mocha",
...
"args": ["./test/01-strings-tests.js"],
...
},
...
]
}
F5 لتشغيل Debug.launch.json في مجلد مشروع .vscode . لا تتردد في المساهمة في هذا المشروع. نرحب بمهام جديدة وكاتاس.
لإصلاح تنفيذ Linting:
npm run lint -- --fix