Я пытаюсь написать тесты для пользовательского модуля, который я написал для Drupal 8, и получаю сообщение об ошибке, и на данный момент у меня нет идей.Вот ошибка:
Error: Class 'Drupal\mypackage\Services\Config\MyClassServiceConfig' not found
Класс PhpUnit находится под
modules\custom\mypackage\tests\src\Unit\mypackageUserAuthTest
Вот код
class mypackageUserAuthTest extends UnitTestCase
{
protected $user;
protected $loginService;
public function setUp()
{
parent::setUp();
$this->loginService = new LoginService();
$this->user = [
'username' => 'xxx',
'password' => 'xxx',
'deviceId' => 'xxx',
'some-token' => 'xxx'
];
}
/** @test */
public function that_we_can_authenticate_a_user()
{
$IsUserLoggedIn = $this->loginService->login($this->user['username'], $this->user['password']);
$this->assertTrue($IsUserLoggedIn);
}
Теперь метод login
в loginService
код
<?php
namespace Drupal\mypackage\Rest;
use GuzzleHttp\Exception\ClientException;
use Drupal\mypackage\Services\RestServiceFactory;
use Drupal\mypackage\Services\Config\MyClassServiceConfig;
class LoginService
{
public function login($username, $password)
{
$configs = new MyClassServiceConfig(null, "mobile", "v1");
$client = RestServiceFactory::create($configs);
try {
$response = $client->post('login', [
'json' => [
'username' => $username,
'password' => $password,
'deviceId' => 'onepiece',
],
]);
return json_decode($response->getBody(), true);
} catch (ClientException $exception) {
switch ($$exception->getResponse()->getStatusCode()) {
case 402: // This only applies to co members
throw new SubscriptionRequiredException();
case 403:
throw new BlockedAccountException();
case 409:
throw new DuplicateEmailException();
case 410:
throw new PasswordDoesNotExistException();
}
throw $exception;
}
}
}
pwd
результат в MyClassServiceConfig
каталоге классов /var/www/cms/web/modules/custom/mypackage/src/Services/Config
Но, похоже, он не работает на линии$configs = new MyClassServiceConfig(null, "mobile", "v1");
с ранее упомянутой ошибкой:
1) Drupal\Tests\mypackage\Unit\mypackageUserAuthTest::that_we_can_authenticate_a_user
Error: Class 'Drupal\mypackage\Services\Config\MyClassServiceConfig' not found
Кстати, я использую структуру проекта drupal (https://github.com/drupal-composer/drupal-project)