How load more then one class from file?
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Accessibilité débutants
- 30/100
- Type d'issue
- Fonctionnalité
- Clarté
- Plutôt claire
- Activité
- À l'abandon
- Stack technique
- php
- Domaine
- testing-qa
Piste de recherche
Commencez par la configuration de bootstrap.php et les appels à Kernel::loadFile pour CComponent.php, CModel.php, CFormModel.php et ConfirmForm.php. Reproduisez les erreurs manquantes du locator pour CFormModel et CEvent, puis examinez comment les fichiers contenant plusieurs classes sont découverts et chargés. Le travail est terminé lorsqu’un fichier tel que CComponent.php peut fournir toutes ses classes au locator sans ces erreurs.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
I just try to test my Yii App with AspectMock and Codeception.
My bootstrap.php:
include __DIR__.'/../vendor/autoload.php'; // composer autoload
$kernel = \AspectMock\Kernel::getInstance();
$kernel->init([
'debug' => true,
'appDir' => __DIR__ . '/..',
'includePaths' => [
__DIR__.'/../src',
],
'cacheDir' => __DIR__ . '/temp/aspectMock',
'excludePaths ' => [__DIR__],
]);
I use it:
\AspectMock\Test::double(\TestForm::class, [
'validate' => false,
]);
$a = new \TestForm();
$a->prop = 123;
$I->assertEquals(false, $a->validate());
\AspectMock\Test::double(\TestForm::class, [
'validate' => true,
]);
$a = new \TestForm();
$a->prop = 123;
$I->assertEquals(true, $a->validate());
But AspectMock doesn't replace method validate.
I add into bootstap this:
include __DIR__.'/../vendor/autoload.php'; // composer autoload
$kernel = \AspectMock\Kernel::getInstance();
$kernel->init([
'debug' => true,
'appDir' => __DIR__ . '/..',
'includePaths' => [
__DIR__.'/../src',
],
'cacheDir' => __DIR__ . '/temp/aspectMock',
'excludePaths ' => [__DIR__],
]);
$kernel->loadFile(__DIR__ . '/../public/protected/models/ConfirmForm.php');
But now I see Error: "Class CFormModel was not found by locator"
CFormModel it's parent of my TestForm.
And I do this:
$kernel->loadFile(__DIR__ . '/../vendor/yiisoft/yii/framework/base/CComponent.php');
$kernel->loadFile(__DIR__ . '/../vendor/yiisoft/yii/framework/base/CModel.php');
$kernel->loadFile(__DIR__ . '/../vendor/yiisoft/yii/framework/web/CFormModel.php');
$kernel->loadFile(__DIR__ . '/../public/protected/models/ConfirmForm.php');
And I see error "Class CEvent was not found by locator". But class CEvent exists in CComponent.php.
In file CComponent have more then one class. And its a problem, I think.
I cant do anything with it?
Can AspectMock load more then one class from file?
- Langage dominant
- PHP
- Étoiles
- 785
- Forks
- 132
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Préparer son environnement
Ce projet ne fournit ni conteneur de développement, ni Dockerfile, ni guide de contribution : l'installation est à votre charge. Commencez par son README, et consultez notre guide de la première contribution pour les étapes générales.
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de Codeception/AspectMock
-
Difficulté 2/5 1-3 heures Accessibilité débutants 35/100
Codeception/AspectMock#208 · 2 commentaires · 5 réactions ·
-
AspectMock не мокает объектOuverte
Difficulté 3/5 1-2 jours Accessibilité débutants 25/100
Codeception/AspectMock#206 ·
-
Difficulté 3/5 1-2 jours Accessibilité débutants 35/100
Codeception/AspectMock#203 ·
-
Difficulté 1/5 Moins d'une heure Accessibilité débutants 35/100
Codeception/AspectMock#202 · 5 commentaires · 2 réactions ·
-
Difficulté 3/5 1-2 jours Accessibilité débutants 42/100
Codeception/AspectMock#201 · 1 commentaire ·
Toutes les issues de Codeception/AspectMock
Issues similaires
-
Difficulté 2/5 1-3 heures Accessibilité débutants 65/100
opnsense/core#11052 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
needs triage
Difficulté 2/5 1-3 heures Accessibilité débutants 66/100
-
bug
Difficulté 2/5 1-3 heures Accessibilité débutants 88/100
-
Difficulté 2/5 1-3 heures Accessibilité débutants 88/100
grokability/snipe-it#19857 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 92/100
Les mainteneurs répondent en général sous 1 jour