นั่นจะไม่ทำ คุณต้องสร้างโมดูลทดสอบที่มีการกำหนดค่า YAML เพื่อดำเนินการนี้ หรือสร้างสคริปต์ในการเปลี่ยนแปลงวิธีการตั้งค่าการทดสอบ วิธีหลังนั้นยาวกว่า แต่ช่วยให้คุณไม่ต้องรักษาสำเนาการกำหนดค่า YAML ในโมดูลเพิ่มเติม นี่คือตัวอย่าง
ตั้งค่าฟังก์ชั่นสาธารณะ () {
ผู้ปกครอง :: ตั้งค่า ();
$this->entityTypeManager = $this->container->get('entity_type.manager');
$this->installEntitySchema('โหนด');
$this->installEntitySchema('ผู้ใช้');
$this->installEntitySchema('taxonomy_term');
$this->installSchema('โหนด', 'node_access');
$this->installConfig('โหนด');
$this->installConfig('อนุกรมวิธาน');
$this->installConfig('ตัวกรอง');
$this->createContentType(['type' => 'my_content_type']);
FieldStorageConfig::สร้าง([
'field_name' => 'field_lookup_type',
'entity_type' => 'โหนด',
'type' => 'entity_reference',
'จำนวนสมาชิก' => 1,
'ล็อก' => FALSE
'ดัชนี' => [],
'การตั้งค่า' => [
'handler' => 'default:taxonomy_term',
'handler_settings' => [
'target_bundles' => [],
'จัดเรียง' => [
'field' => 'ชื่อ',
'direction' => 'asc',
]
'auto_create' => เท็จ
'auto_create_bundle' => '',
]
]
])->บันทึก();
FieldConfig::สร้าง([
'field_name' => 'field_lookup_type',
'entity_type' => 'โหนด',
'label' => 'ฟิลด์ของฉัน',
'มัด' => 'my_content_type',
'คำอธิบาย' => '',
'จำเป็น' => เท็จ
'การตั้งค่า' => [],
])->บันทึก();
สิ่งนี้จะสร้างประเภทโหนด สร้างฟิลด์อนุกรมวิธาน และตั้งค่าฟิลด์อนุกรมวิธานเป็นประเภทโหนดนั้น นี่เทียบเท่ากับการโหลดไฟล์ YAML หลายไฟล์
จากนั้น ไม่ว่าจะในการตั้งค่าหรือการทดสอบ คุณสามารถ:
$node = $this->createNode(['type' => 'my_content_type', 'field_lookup_type' => 1]);
คุณสมบัติในการทำเช่นนี้จำเป็นต้องรวมอยู่ในชั้นเรียนทดสอบของคุณ:
ใช้ NodeCreationTrait
ContentTypeCreationTrait,