Dependency injection not working during tests
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 3/5
- Temps estimé
- 1-2 jours
- Accessibilité débutants
- 25/100
Piste de recherche
Commencez par le test de UserController et la configuration d’injection de dépendances présentée dans l’issue, puis suivez la résolution de QueryService pendant le test. Reproduisez l’appel mock qui échoue et comparez le conteneur utilisé par le contrôleur avec le conteneur qui est modifié. C’est terminé lorsque le contrôleur reçoit le QueryService mocké et que le test vérifie l’objet renvoyé attendu.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Hello guys. I have a controller called UserController. And i have a UserService that call getById method that returns some object. How can i mock this call when i test UserController?
I tries this code
` /** @var \Hyperf\Di\Container $c */
$c = \Hyperf\Utils\ApplicationContext::getContainer();
$queryServiceMock = $this->createMock(QueryService::class);
$queryServiceMock->method('appByKeyAndDomain')->willReturn((object)[
'id' => 1,
'key' => 'test',
'timezone' => 'UTC'
]);
$c->set(QueryService::class, $queryServiceMock);
\Hyperf\Utils\ApplicationContext::setContainer($c);`
but it would not work.
- Langage dominant
- PHP
- Étoiles
- 307
- Forks
- 131
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Préparer son environnement
Lance le conteneur de développement du projet dans votre navigateur, avec votre propre compte GitHub.
- Fournit un Dockerfile ou un fichier Docker Compose
- Aucun modèle de pull request
- Aucun guide de contribution
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 hyperf/hyperf-skeleton
-
Difficulté 3/5 1-2 jours Accessibilité débutants 30/100
hyperf/hyperf-skeleton#106 · 1 commentaire ·
Toutes les issues de hyperf/hyperf-skeleton
Issues similaires
-
Difficulté 2/5 1-3 heures Accessibilité débutants 79/100
Les mainteneurs répondent en général sous 1 jour
-
bug
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
-
Difficulté 2/5 1-3 heures Accessibilité débutants 84/100
Les mainteneurs répondent en général sous 3 jours
-
Difficulté 1/5 Moins d'une heure Accessibilité débutants 91/100
benjaminkott/bootstrap_package#1675 ·
-
sync-en
Difficulté 2/5 1-3 heures Accessibilité débutants 74/100
Les mainteneurs répondent en général sous 1 jour