Générer des tests unitaires qui détectent de vraies erreurs.
Les tests unitaires doivent exprimer le comportement attendu et des limites pertinentes. Ne reproduisez pas simplement la formule de l’implémentation dans le test.
Adaptez le processus à votre tâche.
Définissez le comportement attendu depuis le contrat de la fonction et choisissez des cas ordinaires, limites et d’échec significatifs. Utilisez des résultats connus ou des jeux de données indépendants, sans assertions qui répètent seulement le calcul de l’implémentation.
- Ce que vous fournissez
- Implémentation de la fonction et framework de test.
- Ce que vous obtenez
- Tests pertinents couvrant comportement et cas limites.
Consultez les données et le résultat.
Entrée et sortie illustratives · exemple pédagogique, pas une exécution WebAct en direct
Exemple champ
Write pytest tests for calculator.add(a, b). It returns the sum of two integers. Required cases: positive values, zero, negative values.
Exemple complet
# test_calculator.py
import pytest
from calculator import add
@pytest.mark.parametrize("a,b,expected", [(2, 3, 5), (0, 0, 0), (-2, 3, 1)])
def test_add(a, b, expected):
assert add(a, b) == expected
Run in the project with pytest installed: python -m pytest test_calculator.pyChargez ces données dans le prompt, puis copiez-le dans WebAct pour essayer la tâche. Votre résultat peut différer de l'illustration.
Décisions et dépannage.
Un test unitaire généré doit-il dupliquer la formule de la fonction ?
Utilisez si possible des attentes connues indépendamment. Répéter la même erreur dans le test peut faire paraître vérifiée une implémentation incorrecte.
Pourquoi tous les tests passent-ils alors que la défaillance réelle persiste ?
Vérifiez si les tests couvrent la condition défaillante et le contrat réel. Un grand nombre de tests ne garantit pas une couverture pertinente.
Référence pour ce processus.
Essayez avec votre propre source.
Remplacez l'exemple par vos données dans le prompt. Gardez les exigences nécessaires, puis copiez la tâche dans WebAct.
Personnaliser et copier la tâche ↑