使用drupal生成模块后:
vendor/bin/drupal generate:module
我尝试在此文件的新模块中运行单元测试:modules / custom / candidacy_analyser / tests / src / Functional / LoadTest.php
所以我在创建phpunit.xml并将其放置在核心之后使用了此命令
vendor/bin/phpunit --configuration core modules/custom/candidacy_analyser/tests/src/Functional/LoadTest.php
但是我发现错误:
有1个错误:
1)Drupal \ Tests \ candidacy_analyser \ Functional \ LoadTest :: testLoad Drupal \ Component \ Plugin \ Exception \ PluginNotFoundException:“节点” 实体类型不存在。
Stacktrace:
/var/www/html/core/lib/Drupal/Core/Entity/EntityTypeManager.php:133 /var/www/html/core/lib/Drupal/Core/Entity/EntityManager.php:54 /var/www/html/core/lib/Drupal/Core/Field/Plugin/Field/FieldType/EntityReferenceItem.php:117 /var/www/html/core/lib/Drupal/Core/Field/BaseFieldDefinition.php:713 /var/www/html/core/lib/Drupal/Core/Field/BaseFieldDefinition.php:736 /var/www/html/core/lib/Drupal/Core/Entity/Sql/DefaultTableMapping.php:388 /var/www/html/core/lib/Drupal/Core/Entity/Sql/SqlContentEntityStorageSchema.php:696 /var/www/html/core/lib/Drupal/Core/Entity/Sql/SqlContentEntityStorageSchema.php:309 /var/www/html/core/lib/Drupal/Core/Entity/Sql/SqlContentEntityStorage.php:1397 /var/www/html/core/lib/Drupal/Core/Entity/Sql/SqlContentEntityStorage.php:1483 /var/www/html/core/lib/Drupal/Core/Entity/Sql/SqlContentEntityStorage.php:1398 /var/www/html/core/lib/Drupal/Core/Entity/EntityTypeListener.php:71 /var/www/html/core/lib/Drupal/Core/Entity/EntityManager.php:534 /var/www/html/core/lib/Drupal/Core/Entity/EntityDefinitionUpdateManager.php:157 /var/www/html/core/lib/Drupal/Core/Extension/ModuleInstaller.php:239 /var/www/html/core/lib/Drupal/Core/ProxyClass/Extension/ModuleInstaller.php:83 /var/www/html/core/lib/Drupal/Core/Test/FunctionalTestSetupTrait.php:414 /var/www/html/core/tests/Drupal/Tests/BrowserTestBase.php:572 /var/www/html/core/tests/Drupal/Tests/BrowserTestBase.php:398 /var/www/html/modules/custom/candidacy_analyser/tests/src/Functional/LoadTest.php:33
生成的文件:LoadTest.php:
<?php
namespace Drupal\Tests\candidacy_analyser\Functional;
use Drupal\Core\Url;
use Drupal\Tests\BrowserTestBase;
/**
* Simple test to ensure that main page loads with module enabled.
*
* @group candidacy_analyser
*/
class LoadTest extends BrowserTestBase {
/**
* Modules to enable.
*
* @var array
*/
public static $modules = ['candidacy_analyser'];
/**
* A user with permission to administer site configuration.
*
* @var \Drupal\user\UserInterface
*/
protected $user;
/**
* {@inheritdoc}
*/
protected function setUp() {
parent::setUp();
$this->user = $this->drupalCreateUser(['administer site configuration']);
$this->drupalLogin($this->user);
}
/**
* Tests that the home page loads with a 200 response.
*/
public function testLoad() {
$this->drupalGet(Url::fromRoute('<front>'));
$this->assertSession()->statusCodeEquals(200);
}
}
请帮忙吗?
答案 0 :(得分:0)
尝试将node
定义为$ modules之一:
public static $modules = ['node', 'candidacy_analyser'];
您可能还需要将其包含在setup()
中:
$this->installEntitySchema('node');