การตั้งค่าสภาพแวดล้อมการทดสอบ
กำหนดค่าสภาพแวดล้อมการทดสอบโดยใช้เครื่องมืออย่าง Jest หรือ QUnit และตั้งค่าการยืนยันเพื่อตรวจสอบพฤติกรรมของฟังก์ชันและปลั๊กอิน jQuery
การตั้งค่าสภาพแวดล้อมการทดสอบ เป็นบทเรียน jQuery Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 2 จากทั้งหมด 3 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน jQuery Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส jQuery Academy มีบทเรียนทั้งหมด 3 บทเรียน
เหตุใดจึงควรทดสอบโค้ด jQuery ของคุณ
การเขียนการทดสอบสำหรับโค้ด jQuery มีความสำคัญอย่างยิ่งต่อการสร้างแอปพลิเคชันเว็บที่แข็งแกร่งและดูแลรักษาได้ง่าย ช่วยค้นหาข้อบกพร่องได้ตั้งแต่เนิ่น ๆ และรับรองว่าโค้ดทำงานตามที่คาดไว้
- ป้องกันการถดถอย: รับรองว่าการเปลี่ยนแปลงใหม่จะไม่ทำให้ความสามารถเดิมเสียหาย
- ปรับปรุงคุณภาพโค้ด: กระตุ้นให้คุณเขียนโค้ดแบบแยกส่วนที่ทดสอบได้
- อำนวยความสะดวกในการทำงานร่วมกัน: จัดทำเอกสารที่ชัดเจนว่าส่วนประกอบต่าง ๆ ควรทำงานอย่างไร
การเลือกตัวเรียกใช้การทดสอบ
สำหรับการทดสอบ JavaScript รวมถึง jQuery คุณต้องมีตัวเรียกใช้การทดสอบ เครื่องมือนี้จะเรียกใช้การทดสอบและรายงานผลลัพธ์
ตัวเลือกยอดนิยมมีสองแบบ:
- Jest: กรอบการทดสอบสมัยใหม่จาก Facebook ที่มีความสามารถมากมาย นิยมใช้กับ React แต่เหมาะกับ JS ทุกประเภท
- QUnit: กรอบการทดสอบเฉพาะสำหรับ jQuery ใช้งานง่ายกว่า แต่มีความสามารถน้อยกว่า Jest
ในบทเรียนนี้ เราจะเน้นการตั้งค่า Jest เนื่องจากมีความสามารถครบถ้วนและได้รับการใช้งานอย่างแพร่หลาย
เริ่มต้นโครงการของคุณ (Node.js)
ก่อนติดตั้ง Jest คุณต้องมีโครงการ Node.js ก่อน หากยังไม่มี คุณสามารถสร้างได้อย่างง่ายดาย
ไปยังไดเรกทอรีโครงการในเทอร์มินัล แล้วเรียกใช้:
npm init -yคำสั่งนี้จะสร้างไฟล์ package.json ซึ่งใช้จัดการส่วนพึ่งพาและสคริปต์ของโครงการ
ติดตั้ง Jest และ JSDOM
ตอนนี้มาติดตั้ง Jest กัน เนื่องจาก jQuery มักโต้ตอบกับ DOM ของเบราว์เซอร์ (Document Object Model) เราจึงต้องใช้ jest-environment-jsdom ด้วย JSDOM จัดเตรียมสภาพแวดล้อมที่คล้ายเบราว์เซอร์ใน Node.js ทำให้โค้ด jQuery ของคุณปรับเปลี่ยน DOM เสมือนได้
ติดตั้งเป็นส่วนพึ่งพาสำหรับการพัฒนา:
npm install --save-dev jest jest-environment-jsdomการดำเนินการนี้จะเพิ่ม Jest และ JSDOM ลงใน package.json
ตั้งค่า Jest สำหรับ JSDOM
หากต้องการให้ Jest ใช้ JSDOM คุณต้องตั้งค่า โดยเพิ่มสคริปต์ test ลงใน package.json หรือสร้างไฟล์ jest.config.js
ตัวเลือกที่ 1: ใน package.json
{
"name": "my-jquery-app",
"version": "1.0.0",
"scripts": {
"test": "jest --env=jsdom"
},
"devDependencies": {
"jest": "^29.x.x",
"jest-environment-jsdom": "^29.x.x"
}
}แฟล็ก --env=jsdom จะทำให้ Jest เรียกใช้การทดสอบในสภาพแวดล้อม JSDOM
ไฟล์การทดสอบแรกของคุณ
Jest จะค้นหาไฟล์การทดสอบในไดเรกทอรี __tests__ หรือไฟล์ที่ลงท้ายด้วย .test.js (หรือ .spec.js) มาสร้างไฟล์การทดสอบแบบง่ายกัน
สร้างไดเรกทอรีชื่อ __tests__ ที่รากโครงการ แล้วเพิ่มไฟล์ เช่น __tests__/my-feature.test.js:
// __tests__/my-feature.test.js
describe('My Feature', () => {
test('should do something basic', () => {
// Test logic will go here
});
});describe ใช้จัดกลุ่มการทดสอบที่เกี่ยวข้องกัน ส่วน test (หรือ it) ใช้กำหนดกรณีทดสอบแต่ละกรณี
นำเข้า jQuery สำหรับการทดสอบ
หากต้องการทดสอบโค้ด jQuery คุณต้องนำเข้า jQuery ลงในไฟล์การทดสอบ ติดตั้ง jQuery ผ่าน npm ได้ด้วยคำสั่ง: npm install jquery
จากนั้น ในไฟล์การทดสอบของคุณ ให้นำเข้า jQuery ดังนี้:
// __tests__/my-feature.test.js
const $ = require('jquery');
describe('My jQuery Feature', () => {
// Setup for each test
beforeEach(() => {
// Create a fresh DOM element for each test
document.body.innerHTML = 'Hello';
});
test('should add a class to the element', () => {
const element = $('#test-element');
element.addClass('highlight');
expect(element.hasClass('highlight')).toBe(true);
});
});การเขียนการยืนยันเงื่อนไขพื้นฐาน
การยืนยันเงื่อนไขคือวิธีตรวจสอบว่าโค้ดทำงานถูกต้องหรือไม่ Jest ใช้ฟังก์ชัน expect() ร่วมกับตัวตรวจสอบเพื่อสร้างการยืนยันเงื่อนไข
ตัวอย่าง JavaScript แบบง่ายมีดังนี้ (ไม่เฉพาะเจาะจงกับ jQuery แต่แสดงให้เห็นการยืนยันเงื่อนไข):
function addNumbers(a, b) {
return a + b;
}
// Example of how Jest would test this:
// expect(addNumbers(2, 3)).toBe(5);
// expect(addNumbers(-1, 1)).toBe(0);
console.log("2 + 3 = " + addNumbers(2, 3));
console.log("5 + 10 = " + addNumbers(5, 10));ตัวตรวจสอบทั่วไปของ Jest
Jest มีตัวตรวจสอบให้เลือกใช้มากมาย ต่อไปนี้คือตัวตรวจสอบที่ใช้บ่อย:
.toBe(value): ตรวจสอบว่าค่าเท่ากันทุกประการ (เช่น===).toEqual(value): ตรวจสอบความเท่ากันเชิงลึกของออบเจ็กต์หรืออาร์เรย์.not.toBe(value): ตรวจสอบว่าค่าไม่เท่ากัน.toBeTruthy()/.toBeFalsy(): ตรวจสอบค่าความจริงหรือความเท็จ.toContain(item): ตรวจสอบว่าอาร์เรย์หรือสตริงมีรายการที่ระบุหรือไม่
สำหรับ jQuery คุณมักใช้สิ่งเหล่านี้ร่วมกับเมธอดของ jQuery เช่น expect($element.text()).toBe('Expected Text');
การเรียกใช้การทดสอบของคุณ
เมื่อตั้งค่าไฟล์การทดสอบแล้ว การเรียกใช้ก็ทำได้ง่าย เพียงใช้สคริปต์ที่กำหนดไว้ใน package.json:
npm testJest จะค้นหาไฟล์การทดสอบทั้งหมด เรียกใช้ในสภาพแวดล้อม JSDOM และรายงานผลลัพธ์ในเทอร์มินัล โดยจะแสดงว่าการทดสอบใดผ่าน การทดสอบใดล้มเหลว และแสดงรายละเอียดของความล้มเหลวแต่ละรายการ
ตรวจสอบการตั้งค่าอย่างรวดเร็ว
คุณได้เรียนรู้วิธีตั้งค่าสภาพแวดล้อมสำหรับทดสอบ jQuery โดยใช้ Jest และ JSDOM แล้ว คำสั่งและการกำหนดค่าใดต่อไปนี้จำเป็นสำหรับการตั้งค่า Jest พื้นฐานที่รองรับ DOM
ทบทวน: การตั้งค่าสภาพแวดล้อมการทดสอบ
ในบทเรียนนี้ คุณได้เรียนรู้วิธีตั้งค่าสภาพแวดล้อมการทดสอบที่มีประสิทธิภาพสำหรับแอปพลิเคชัน jQuery โดยใช้ Jest
- เราเริ่มต้นโครงการ Node.js ด้วย
npm init - ติดตั้ง Jest และ
jest-environment-jsdomเพื่อจำลองสภาพแวดล้อมเบราว์เซอร์ - ตั้งค่า Jest ใน
package.jsonให้ใช้ JSDOM - ทำความเข้าใจวิธีจัดโครงสร้างไฟล์การทดสอบ นำเข้า jQuery และเขียนการยืนยันเงื่อนไขพื้นฐานโดยใช้ตัวตรวจสอบของ Jest
พื้นฐานนี้ช่วยให้คุณเขียนการทดสอบที่มีประสิทธิภาพ และทำให้โค้ด jQuery น่าเชื่อถือและดูแลรักษาได้ง่าย
คำถามที่พบบ่อย
บทเรียน “การตั้งค่าสภาพแวดล้อมการทดสอบ” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “การตั้งค่าสภาพแวดล้อมการทดสอบ” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส jQuery Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส jQuery Academy มีบทเรียนทั้งหมด 3 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “การตั้งค่าสภาพแวดล้อมการทดสอบ”
กำหนดค่าสภาพแวดล้อมการทดสอบโดยใช้เครื่องมืออย่าง Jest หรือ QUnit และตั้งค่าการยืนยันเพื่อตรวจสอบพฤติกรรมของฟังก์ชันและปลั๊กอิน jQuery คุณปฏิบัติ jQuery Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน jQuery Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน jQuery Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 2 จากทั้งหมด 3 บทเรียน
บทเรียน “การตั้งค่าสภาพแวดล้อมการทดสอบ” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน jQuery Academy นี้ได้ไหม
ได้ บทเรียน jQuery Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- บทนำสู่การทดสอบหน่วย jQuery
- การตั้งค่าสภาพแวดล้อมการทดสอบ
- การเขียนการทดสอบ jQuery ที่มีประสิทธิภาพ