โมดูลการโยกย้ายจัดเตรียมคลาสทดสอบเคอร์เนลพื้นฐาน Drupal\Tests\migrate\Kernel\MigrateTestBase
ซึ่งมีก getMigration()
วิธีการอบใน.
ตัวอย่างเช่น ใช้งานได้และการทดสอบผ่าน:
<?php
เนมสเปซ Drupal\my_module\tests\Kernel;
ใช้ Drupal\migrate\Plugin\MigrationInterface
ใช้ Drupal\Tests\migrate\Kernel\MigrateTestBase
คลาส MyMigrationTest ขยาย MigrateTestBase {
$โมดูลคงที่ป้องกัน = [
'my_module',
'โยกย้าย',
// ฯลฯ...
];
ฟังก์ชั่นสาธารณะ testMigration (): เป็นโมฆะ {
$migration = $this->getMigration('MY_MIGRATION');
$this->assertInstanceOf(MigrationInterface::class, $migration);
}
}
อย่างไรก็ตาม ไม่จำเป็นต้องขยายเวลา โยกย้าย TestBaseสิ่งนี้ยังใช้งานได้และผ่านการทดสอบ:
<?php
เนมสเปซ Drupal\my_module\tests\Kernel;
ใช้ Drupal\KernelTests\KernelTestBase
ใช้ Drupal\migrate\Plugin\MigrationInterface
คลาส MyMigrationTest ขยาย KernelTestBase {
$โมดูลคงที่ป้องกัน = [
'my_module',
'โยกย้าย',
// ฯลฯ...
];
ฟังก์ชั่นสาธารณะ testMigration (): โมฆะ {
/** @var \Drupal\migrate\Plugin\MigrationPluginManagerInterface
$plugin_manager */
$plugin_manager = \Drupal::service('plugin.manager.migration');
$migration = $plugin_manager
->createInstance('MY_MIGRATION');
$this->assertInstanceOf(MigrationInterface::class, $migration);
}
}