Score:1

จะสร้างฐานข้อมูลทดสอบหลักได้อย่างไร

ธง us

สิบห้าปีที่เขียนโค้ด Drupal แต่ฉันไม่เคยเขียนการทดสอบหน่วยเลย เมื่อเร็ว ๆ นี้ฉันได้โพสต์แพตช์หลักสองสามรายการซึ่งจำเป็นต้องมีการทดสอบเพื่อเขียน - เป็นช่วงเวลาที่ดีในการเรียนรู้วิธีเขียนการทดสอบ PHPUnit

ฉันตั้งค่าสภาพแวดล้อมการทดสอบแล้วและสามารถเรียกใช้การทดสอบหน่วยหลักได้สำเร็จ ฉันต้องการขยายการทดสอบเหล่านี้ซึ่งฉันเห็นว่าไม่ยากมาก แต่ฉันต้องวิ่งแข่งกับ "test db" ฉันสามารถเห็นโมดูลทดสอบหลักของ Views เช่น views_test_config และ views_test_data ซึ่งมีทุกอย่างที่ฉันต้องการ - แต่ฉันไม่สามารถเปิดใช้งานได้ (ด้วยตนเอง ดังนั้นฉันจึงสามารถตรวจสอบได้ว่าเนื้อหาการทดสอบของฉันคืออะไร)

มีวิธีรับสำเนาของฐานข้อมูลทดสอบเริ่มต้น D9 ที่ใช้สำหรับการทดสอบคอร์ (เคอร์เนล) หรือไม่ หรืออีกวิธีหนึ่งในการเปิดใช้งานโมดูลเหล่านี้

Score:1
ธง cn

ฉันไม่แน่ใจว่าฉันเข้าใจคำถามของคุณถูกต้องหรือไม่ แต่ไม่มี "test db" เช่นนี้นอกเหนือจากการทดสอบที่คุณสร้างขึ้น ระบบทดสอบหลักจะติดตั้งไซต์ Drupal ขั้นต่ำตั้งแต่เริ่มต้น (สามารถตั้งค่า URL ของฐานข้อมูลสำหรับสิ่งนี้ได้ในไฟล์ phpunit.xml ไฟล์ซึ่งเป็นเทมเพลตเริ่มต้นที่อยู่ใน core/phpunit.xml.dist). สิ่งนี้ไม่ขึ้นกับไซต์ใดๆ ที่มีอยู่ ใช้โปรไฟล์การติดตั้ง "แบบง่ายที่สุด" และสร้างขึ้นใหม่ตั้งแต่ต้นทุกครั้งที่ทำการทดสอบ

วิธีการ ::setUp() ของการทดสอบของคุณจะสร้างสิ่งต่างๆ เช่น ผู้ใช้ทดสอบ เนื้อหา ฯลฯ ในเว็บไซต์นี้

หากคุณขยายคลาส KernelTestBase หรือ BrowserTestBase คุณจะเห็นว่ามีคุณสมบัติของคลาสชื่อ $requiredโมดูล. หากคุณตั้งค่านี้เป็นอาร์เรย์ของชื่อโมดูล ระบบจะเปิดใช้งานโดยอัตโนมัติเป็นส่วนหนึ่งของกระบวนการตั้งค่า

liquidcms avatar
us flag
ใช่ ขอบคุณ แต่ฉันรู้ทั้งหมดนี้ ฉันรู้ว่าถ้าฉันเพิ่มโมดูลการทดสอบการดูไปยัง #requireModules ของฉัน ฉันสามารถใช้ข้อมูลการทดสอบและการกำหนดค่านี้ (ซึ่งเป็นสิ่งที่ฉันต้องการ) ในการทดสอบของฉัน แต่ฉันต้องการ "ดู" ข้อมูลนั้นด้วยมุมมองการทดสอบที่มีอยู่เพื่อดูว่ามีอะไรบ้าง - เพื่อที่ฉันจะได้เขียน (และดีบัก) การทดสอบของฉันตามนั้น แต่ฉันต้องการวิธีติดตั้งโมดูลเหล่านั้นด้วยตนเองเพื่อดูว่ามันสร้างอะไรสำหรับข้อมูลทดสอบ/การกำหนดค่า สิ่งนี้ช่วยได้หรือไม่?
liquidcms avatar
us flag
ใช่ ฉันสงสัยว่าไม่มีฐานข้อมูลการทดสอบหลัก (แม้ว่าจะมีประโยชน์) ดังนั้นอาจใช้คำถามของฉันผิด สิ่งที่ฉันต้องการจริงๆ คือวิธีเปิดใช้งานโมดูลทดสอบหลัก เช่น views_test_data และ views_test_config เหตุใดฉันจึงไม่สามารถติดตั้งด้วยตนเองได้
Score:0
ธง us

หากต้องการอนุญาตให้ติดตั้งโมดูลทดสอบ คุณต้องตั้งค่านี้ใน $settings.php ของคุณ:

$settings['extension_discovery_scan_tests'] = จริง;

[แก้ไข] - สิ่งนี้อนุญาตให้เห็นโมดูลทดสอบทั้งหมดและตอนนี้ฉันสามารถเปิดใช้งานได้ - แต่ข้อมูลการทดสอบและมุมมองยังไม่ทำงาน .. ฮึ่ม !!

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา