วิธีใช้ Jest และ Enzyme โดยไม่ต้อง Create-React-App

ขณะนี้ฉันกำลังทำโปรเจ็กต์สำหรับวิทยาลัย และพบกับอุปสรรคที่ตึงเครียดมาก… การทดสอบ หากคุณกำลังทำงานกับ Jest, Enzyme และ React คุณอาจรู้สึกหงุดหงิดเช่นเดียวกัน อย่างไรก็ตาม อย่าเครียดอีกต่อไป ฉันและเพื่อนร่วมงานได้คิดวิธีแก้ปัญหาวิกฤตการทดสอบขึ้นมาแล้ว

ในตอนแรก ฉันดูเอกสารประกอบของ Jest เพื่อหาวิธีซิงค์การทดสอบกับโปรเจ็กต์ของฉัน เอกสารประกอบในแง่ของการตั้งค่าเข้าใจยากนิดหน่อย ดังนั้นฉันจึงไปที่การค้นหาโดย Google และฟอรัม Stack Overflow หลังจากค้นหานานหลายชั่วโมง เพื่อนร่วมงานของฉันก็ส่ง Ping ไปที่ Slack ให้ฉัน และเราก็หาวิธีแก้ปัญหาได้สำเร็จ!!

ก่อนอื่น Jest ทำงานควบคู่ไปกับ Enzyme กับ React ฉันไม่รู้ในตอนแรก แต่คุณต้องมีไฟล์ 'jest.config.js' และไฟล์ .babelrc

ต่อไปนี้เป็นวิธีการตั้งค่าไฟล์เหล่านั้น:

jest.config.js

ไฟล์ jest.config.js ของคุณควรอยู่ในรูทของคุณ

module.exports = {
setupTestFrameworkScriptFile: ‘‹rootDir›/test/setup.js’,
};

.babelrc

ไฟล์ .babelrc ของคุณควรอยู่ในไฟล์รูทของคุณด้วย

{
“presets”: [“es2015”, “react”]
}

แพ็คเกจ.json

นี่คือวิธีที่ไฟล์ package.json ของฉันดูแลการตั้งค่า หากคุณตัดสินใจที่จะใช้โค้ดบางบรรทัดเหล่านี้ ตรวจสอบให้แน่ใจว่าคุณได้ลบ package-lock.json รวมถึงโมดูลโหนดของคุณ แล้วจึงติดตั้ง npm

โฟลเดอร์ทดสอบ

อีกรายการหนึ่งที่เราต้องตั้งค่าคือโฟลเดอร์ 'ทดสอบ' โฟลเดอร์ทดสอบนี้จำเป็นต้องอยู่ในรูทของโปรเจ็กต์ของฉันด้วย รายการเดียวที่มีโฟลเดอร์ทดสอบคือโฟลเดอร์ setup.js ซึ่งมีโค้ดบรรทัดต่อไปนี้:

การทดสอบ

ในที่สุดเราก็มีการทดสอบของเรา การทดสอบของเราเข้าไปในโฟลเดอร์ไคลเอนต์ซึ่งมีส่วนประกอบของเราโดยตรง ไฟล์ส่วนประกอบหลักของเราชื่อ App.js ดังนั้นเราจึงสร้างไฟล์ชื่อ App.test.js เพื่อทำหน้าที่เป็นไฟล์ทดสอบสำหรับส่วนประกอบหลักของเรา ด้านล่างนี้คุณจะเห็นตัวอย่างการทดสอบของเราที่อาจช่วยคุณในเส้นทางการทดสอบของคุณ

และนั่นมัน!

ฉันหวังว่าสิ่งนี้จะช่วยคุณในการเอาชนะวิกฤติการทดสอบ!! เป็นการสูดอากาศบริสุทธิ์เพื่อเอาชนะความยากลำบากในการสร้างสภาพแวดล้อมใหม่ของเรา

ก่อนที่ฉันจะจบรายการบันทึกนี้ ฉันอยากจะส่งกำลังใจเป็นพิเศษถึง Joe Boulos และ Kevin Phung ที่ช่วยฉันรับมือกับช่วงเวลานี้ และเป็นเพื่อนร่วมงานที่น่าทึ่งในการเขียนโค้ดด้วย สุภาพบุรุษเหล่านี้มีความสำคัญต่อการศึกษาของฉัน และฉันก็ขอบคุณพวกเขาไม่พอ!!

ฉันหวังว่าฉันจะสามารถตอบแทนด้วยการช่วยให้คุณเอาชนะความเครียดในการเขียนโค้ดได้!

“โชคดีนะที่บุกโจมตีปราสาทได้!”
- Magee