Điều đó sẽ không làm điều đó. Bạn cần tạo một mô-đun thử nghiệm có cấu hình YAML để thực hiện việc này hoặc tập lệnh trong các thay đổi trong phương thức thiết lập thử nghiệm. Phương pháp thứ hai dài hơn nhưng giúp bạn không phải duy trì các bản sao của cấu hình YAML trong (các) mô-đun bổ sung. Đây là một ví dụ.
chức năng công khai setUp() {
cha mẹ::setUp();
$this->entityTypeManager = $this->container->get('entity_type.manager');
$this->installEntitySchema('nút');
$this->installEntitySchema('người dùng');
$this->installEntitySchema('taxonomy_term');
$this->installSchema('node', 'node_access');
$this->installConfig('nút');
$this->installConfig('phân loại');
$this->installConfig('filter');
$this->createContentType(['type' => 'my_content_type']);
FieldStorageConfig::create([
'field_name' => 'field_lookup_type',
'entity_type' => 'nút',
'type' => 'entity_reference',
'số lượng' => 1,
'bị khóa' => SAI,
'chỉ mục' => [],
'cài đặt' => [
'trình xử lý' => 'mặc định:taxonomy_term',
'handler_settings' => [
'các_gói_mục_tiêu' => [],
'sắp xếp' => [
'trường' => 'tên',
'hướng' => 'asc',
],
'auto_create' => sai,
'auto_create_bundle' => '',
],
]
])-> lưu();
FieldConfig::create([
'field_name' => 'field_lookup_type',
'entity_type' => 'nút',
'nhãn' => 'Trường của tôi',
'gói' => 'my_content_type',
'mô tả' => '',
'bắt buộc' => SAI,
'cài đặt' => [],
])-> lưu();
Điều này tạo ra một loại nút, tạo một trường phân loại và đặt trường phân loại thành loại nút đó. Điều này tương đương với việc tải một số tệp YAML.
Sau đó, trong quá trình thiết lập hoặc trong quá trình kiểm tra, bạn có thể:
$node = $this->createNode(['type' => 'my_content_type', 'field_lookup_type' => 1]);
Các đặc điểm để làm điều này cần được đưa vào lớp thử nghiệm của bạn:
sử dụng NodeCreationTrait,
ContentTypeCreationTrait,