ในโลกทับทิม TDD ได้รับการอำนวยความสะดวกด้วยเครื่องมือที่สร้างขึ้นในกรอบ Factory Girl, Mocha, rSpec และอื่น ๆ ช่วยให้นักพัฒนาสามารถสร้างการทดสอบได้อย่างง่ายดายและแบบไดนามิกที่ตอบสนองกรณีทดสอบที่จำเป็น
ฉันรู้สึกหงุดหงิดเช่นกันเนื่องจากขาดเครื่องมือ TDD ใน Drupal ปัญหาที่ใหญ่ที่สุดของฉันกับพวกเขาคือระยะเวลาที่ใช้ในการทดสอบครั้งเดียว รอบการพัฒนาไม่สามารถทำให้ช้าลงได้โดยการทดสอบแต่ละครั้งใช้เวลา 60-90 วินาทีในการทำซ้ำแต่ละครั้ง ชุดทดสอบเต็มรูปแบบจะทำงานในกรอบเวลาหลายชั่วโมงหากคุณไม่อยากเขียนการทดสอบเลย
ฉันสงสัยว่ามันเกี่ยวข้องกับการคัดลอกฐานข้อมูลเต็มรูปแบบทุกครั้งที่มีการทดสอบ แต่ไม่น่าจะมีการเปลี่ยนแปลงในอนาคตอันใกล้จากสิ่งที่ฉันสามารถบอกได้โดยเฉพาะอย่างยิ่งหากคุณจำเป็นต้องใช้ DrupalWebTestCase
ฉันกำลังแฮ็คโซลูชันร่วมกันโดยใช้Phactoryและ phpunit ซึ่งบูต Drupal ด้วยตนเอง เห็นได้ชัดว่าพบปัญหาบางอย่างและยังไม่เสร็จ แต่ก็ไปถึงแล้ว
โชคดีที่งานของฉันส่วนใหญ่อยู่ที่แบ็กเอนด์เลเยอร์ดังนั้นฉันจึงสามารถอยู่ในระดับ DRUPAL_BOOTSTRAP_DATABASE แต่ฉันกำลังทำงานในสถานการณ์อื่น ๆ ที่ฉันต้องการกองซ้อนแบบเต็ม
ในตอนท้าย TDD ใน Drupal ไม่ได้รับการสนับสนุนดังนั้นคุณสามารถเขียนของคุณเองเพื่อให้ทำงานนอกกรอบการทดสอบ drupal หรือทนต่อประสิทธิภาพที่ไม่ดี
- อัพเดท -
ฉันได้ตั้งค่าการรวม Drupal กับ Phactory เรียบร้อยแล้วและตอนนี้ฉันกำลังทำการทดสอบผ่าน phpunit แทนที่จะเป็น Drupal Web Test Case ดังนั้นจึงเป็นไปได้
ฉันจะหวังว่าจะถึงจุดที่ฉันสามารถปล่อยมันและมันสามารถรวมเข้ากับเอกสาร Phactory
- อัพเดท 2 -
หมอเกี่ยวกับวิธีการติดตั้งผม Phactory ที่https://github.com/trimbletodd/phactory