技能 allra-test-writing
🧪

allra-test-writing

安全 🌐 網路存取⚙️ 外部命令

Écrire des tests Java avec les standards Allra

Écrire des tests backend sans standards conduit à une couverture incohérente et une exécution lente. Cette compétence fournit des guides de sélection des helpers de test, des patterns Fixture Monkey, et des modèles éprouvés pour JUnit 5, AssertJ et Mockito pour des tests rapides et fiables.

支援: Claude Codex Code(CC)
📊 70 充足
1

下載技能 ZIP

2

在 Claude 中上傳

前往 設定 → 功能 → 技能 → 上傳技能

3

開啟並開始使用

測試它

正在使用「allra-test-writing」。 Écrire un test unitaire pour UserService qui vérifie que findById retourne l'utilisateur quand il existe

預期結果:

  • • Créer une classe de test avec @ExtendWith(MockitoExtension.class)
  • • Configurer @Mock pour UserRepository avec findById retournant un utilisateur fixture
  • • Utiliser @InjectMocks pour UserService
  • • Structurer le test avec les commentaires Given-When-Then
  • • Vérifier le résultat avec assertThat et assertNotNull
  • • Ajouter verify(repository, times(1)) pour confirmer l'appel unique

安全審計

安全
v5 • 1/16/2026

This is a pure documentation skill containing only markdown guidelines for Java/Spring Boot testing standards. The static analyzer flagged 105 'issues' but ALL findings are FALSE POSITIVES. The 'backtick execution' detections are markdown code block delimiters, not Ruby/shell commands. 'C2 keywords' and 'weak crypto' flags are triggered by metadata field names (content_hash, tree_hash) and Java variable names in test examples (execute, trigger, command). No executable code, scripts, or network calls exist. This skill only provides documentation for test writing patterns and is safe for publishing.

2
已掃描檔案
960
分析行數
2
發現項
5
審計總數
審計者: claude 查看審計歷史 →

品質評分

38
架構
100
可維護性
87
內容
30
社群
100
安全
83
規範符合性

你能建構什麼

Écrire des tests unitaires cohérents

Appliquer la sélection des helpers de test Allra et les conventions de nommage pour les nouveaux tests de service Java

Créer des données de test avec Fixture Monkey

Générer des fixtures de test complexes avec des valeurs de champs personnalisées pour les scénarios de test d'intégration

Établir des standards de test d'équipe

Définir les politiques d'utilisation des helpers de test et les attentes de couverture dans les projets backend

試試這些提示

Test de Service Basique
Écrire un test unitaire JUnit 5 pour {ServiceName}. Utiliser le pattern MockingUnitTest avec @ExtendWith(MockitoExtension.class). Inclure @Mock pour les dépendances et @InjectMocks pour le service. Appliquer la structure Given-When-Then avec DisplayName en coréen.
Génération de Données de Fixture
Créer un test qui génère 5 entités User en utilisant Fixture Monkey avec des valeurs de champs spécifiques pour email et status. Utiliser AssertJ pour vérifier que tous les utilisateurs générés ont un format d'email valide et un statut actif.
Sélection de Test d'Intégration
Dois-je utiliser IntegrationTest ou MockingUnitTest pour tester {feature}? La fonctionnalité implique {money_transactions/transaction_rollback/multi_table_validation/complex_state_machine}. Expliquer pourquoi en référence aux standards Allra.
Test de Contrôleur API
Écrire un ControllerTest pour {ControllerName} en utilisant @WebMvcTest. Moquer le service sous-jacent avec @MockBean. Vérifier le statut HTTP 200 et la structure JSON de la réponse en utilisant mockMvc.perform et assertThat avec jsonPath.

最佳實務

  • Utiliser le pattern Given-When-Then avec @DisplayName en coréen pour la clarté du test
  • Par défaut utiliser MockingUnitTest; réserver IntegrationTest pour les transactions d'argent, la vérification de rollback, ou les workflows multi-services
  • Appliquer les assertions fluides AssertJ avec isEqualTo, isTrue, isPresent, et hasMessageContaining

避免

  • Éviter IntegrationTest pour les opérations CRUD simples que les dépendances mock peuvent vérifier
  • Ne pas sauter @DisplayName ou utiliser des noms de méthodes de test vagues sans scénario et résultat attendu
  • Éviter de tester plusieurs préoccupations dans une seule méthode de test

常見問題

Quelles versions Java et Spring Boot cette compétence supporte-t-elle?
Cette compétence cible Java 17+ et Spring Boot 3.2+ avec JUnit 5, AssertJ, Mockito, et Fixture Monkey optionnel.
Quel est l'objectif de couverture de test recommandé?
Les standards Allra recommandent 70% de couverture pour la logique métier principale. Le ratio cible est de 80% de tests unitaires (PojoUnit + MockingUnit) et 20% de tests d'intégration.
Fixture Monkey est-il sûr à utiliser pour les données de test de production?
Oui. Fixture Monkey génère des données de test en mémoire sans effets secondaires de base de données. Il est conçu spécifiquement pour la création sécurisée de fixtures de test.
Comment choisir entre MockingUnitTest et IntegrationTest?
Par défaut utiliser MockingUnitTest. Utiliser IntegrationTest uniquement pour le traitement d'argent, la validation de rollback, l'intégrité multi-tables, ou les collaborations de 3+ services.
Quel est le temps d'exécution attendu pour les tests?
Les tests unitaires doivent se terminer en 1 seconde ou moins. Les tests d'intégration doivent se terminer en 5 secondes ou moins pour maintenir l'efficacité du pipeline CI.
Comment cette compétence se compare-t-elle aux autres frameworks de test?
Cette compétence fournit des conventions spécifiques Allra en plus des outils standards. Elle met l'accent sur la sélection des helpers de test, les patterns de nommage, et la cohérence à l'échelle de l'équipe.

開發者詳情

檔案結構

📄 SKILL.md