0
votes

After generating a module with drupal:

vendor/bin/drupal generate:module

i tried to run unit test in my new module in this file: modules/custom/candidacy_analyser/tests/src/Functional/LoadTest.php

so i used this command after creating phpunit.xml and placed it in core

vendor/bin/phpunit --configuration core  modules/custom/candidacy_analyser/tests/src/Functional/LoadTest.php

but i found thid Error:

There was 1 error:

1) Drupal\Tests\candidacy_analyser\Functional\LoadTest::testLoad Drupal\Component\Plugin\Exception\PluginNotFoundException: The "node" entity type does not exist.

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

the generated file : 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);
  }

}

Any help please ?

1
I'm having a similar issue. Did you ever get this resolved?Keven
no, what is your module name?user6830821
My issue seems to be unrelated. I'm using the field module, and defined $this->installEntitySchema('field'); in my setup() function, but got the error The "field" entity type does not exist. Once I removed the installEntitySchema('field') call then that issue was resolved.Keven

1 Answers

0
votes

Try defining node as one of your $modules:

public static $modules = ['node', 'candidacy_analyser'];

You may also need to include this within setup():

$this->installEntitySchema('node');