Generate Mockito mocks for Dart tests with build_runner
Définir et générer des mocks pour les dépendances externes avec package:mockito et build_runner — @GenerateNiceMocks, stubbing avec when/thenAnswer, vérification des interactions, et workflow de création de mocks
- Quoi
- Définir et générer des mocks pour les dépendances externes avec package:mockito et build_runner — @GenerateNiceMocks, stubbing avec when/thenAnswer, vérification des interactions, et workflow de création de mocks
- Coût
- Gratuit
- Prérequis
- le SDK Dart installé et un projet Dart avec des classes conçues pour l'injection de dépendances (services injectés par constructeur) — le skill est un guide que l'agent suit, pas un logiciel à installer
- Installation
- Copiez le prompt d’installation ci-dessous dans votre Muse — votre agent fait le reste.
Sélectionné par Skill Harbor — le skill de @flutter pour générer des mocks Mockito dans les tests Dart avec `build_runner` : concevoir les classes pour la testabilité (injecter les services externes via les constructeurs, représenter les URLs avec `Uri.parse()`), configurer `pubspec.yaml` (`dart pub add dev:test dev:mockito dev:build_runner`), annoter le fichier de test avec `@GenerateNiceMocks([MockSpec<Dependency>()])` (préféré à `@GenerateMocks` pour éviter les exceptions de stub manquant), importer le fichier `.mocks.dart` généré, lancer `dart run build_runner build`. Règles de stubbing : `when(mock.method()).thenReturn(value)` pour les méthodes sync, mais **toujours** `thenAnswer((_) async => value)` pour les méthodes retournant Future ou Stream — jamais `thenReturn` sur l'async. Vérifier les interactions avec `verify(mock.method()).called(n)` et les matchers d'arguments (`any`, `anyNamed`, `captureAny`). Inclut un workflow de création et exécution en 10 étapes avec checklist et boucle de feedback pour les échecs classiques (erreurs de mocks null inattendus → utiliser `@GenerateNiceMocks` ; `ArgumentError` async → passer à `thenAnswer` ; échecs de build_runner → vérifier que l'import `.mocks.dart` correspond exactement au nom du fichier). Bémols honnêtes : méthodologie seulement — il faut le SDK Dart et des classes conçues avec injection par constructeur ; le skill compagnon dart-add-unit-test (même repo) couvre le côté écriture de tests ; noter qu'une fiche similaire `dart-lang-skills-dart-generate-test-mocks` d'un repo différent existe aussi sur Skill Harbor — celle-ci est la version flutter/agent-plugins. Licence BSD-3-Clause. Skill Harbor ne vérifie jamais le code, examinez-le vous-même avant usage. Découvert via skills.sh.
Version :
Installation
Prérequis : le SDK Dart installé et un projet Dart avec des classes conçues pour l'injection de dépendances (services injectés par constructeur) — le skill est un guide que l'agent suit, pas un logiciel à installer Installe-moi « Générer des mocks Mockito pour les tests Dart avec build_runner ». Il enseigne à mon agent le workflow Mockito de @flutter : concevoir pour la testabilité (injection par constructeur, Uri.parse pour les URLs) ; ajouter dev:test, dev:mockito, dev:build_runner au pubspec ; annoter avec @GenerateNiceMocks([MockSpec<Dependency>()]) ; importer le fichier .mocks.dart généré ; lancer dart run build_runner build ; stubber avec when()/thenReturn pour le sync et thenAnswer pour l'async (jamais thenReturn sur Future/Stream) ; vérifier les interactions avec verify().called(n) et les matchers d'arguments ; suivre la checklist en 10 étapes et la boucle de feedback d'échecs. Licence BSD-3-Clause. Dépôt : https://github.com/flutter/agent-plugins/blob/main/skills/dart-generate-test-mocks/SKILL.md 1. Récupère le fichier SKILL.md (et les fichiers d'aide éventuels) depuis le chemin du dépôt dans un dossier temporaire et résume en une ou deux phrases ce qu'il fait. 2. Vérification de sécurité : examine le SKILL.md et les scripts pour tout contenu suspect (appels réseau inattendus, commandes shell, collecte d'identifiants). Ce dépôt ne devrait contenir aucun secret en dur, les identifiants uniquement via le coffre sécurisé, les hôtes autorisés déclarés dans le SKILL.md. Vérifie que c'est bien le cas ici ; STOP sur tout signal d'alerte et dis-le-moi. 3. Installe-le comme skill : copie le SKILL.md et ses fichiers d'aide dans le répertoire des skills de l'agent, dans un dossier nommé « dart-generate-test-mocks ». 4. Vérifie sans appels réseau : frontmatter valide, fichiers en place. 5. Indique ce qui a été installé, où, et ce qu'il me reste à faire moi-même (p. ex. pointer l'agent vers les classes à mocker et les dépendances externes à isoler ; installer le skill compagnon dart-add-unit-test du même repo pour le côté écriture de tests). GitHub est optionnel : si j'ai un compte GitHub ou la CLI gh, tu peux l'utiliser ; sinon l'accès public suffit. Ne jamais l'exiger sauf s'il figure dans les prérequis ci-dessus. Règles : ne touche à rien en dehors du dossier temporaire et de la cible d'installation. Si quelque chose semble anormal, arrête-toi et demande-moi.
Questions
Comment installer une création ?
Chaque fiche produit contient un prompt d’installation à copier-coller. Collez-le dans votre Muse et il installe la création pour vous — sans configuration manuelle.
Où va mon argent ?
Directement au vendeur. Skill Harbor ne traite jamais les paiements : le paiement se fait sur la page du vendeur, généralement via Stripe.
Que signifie le ✓ à côté du nom d’un créateur ?
Il signifie que nous avons confirmé l’identité de la personne derrière la fiche. Il ne dit rien sur le code lui-même — vérifiez toujours une création avant de l’installer.