Atelier Test

From FreeCAD Documentation
(Redirected from Test Framework Workbench/fr)
This page is a translated version of the page Testing and the translation is 100% complete.
Icône de l'atelier Test

Introduction

L'atelier Test n'est pas vraiment un atelier de modélisation, mais il contient un ensemble de scripts Python permettant d'effectuer différents tests sur les composants principaux de FreeCAD, afin de résoudre les problèmes. Voir aussi Débogage.

Vous pouvez lancer les tests depuis la ligne de commande, en utilisant les options -t ou --run-test.

Lancer tous les tests :

freecad --run-test 0

Exécutez uniquement quelques tests spécifiques, par exemple :

freecad -t TestDraft

Si un test ne nécessite pas l'interface graphique, il peut également être exécuté en mode console en définissant l'option -c ou --console en plus. Cela se traduit généralement par un démarrage beaucoup plus rapide car l'interface graphique n'est pas chargée. Par exemple :

freecad -c -t TestPartDesignApp

Menu Test

Chaque répertoire de niveau supérieur de FreeCAD doit contenir un fichier avec les tests pouvant être exécutés pour cet atelier ou ce module particulier. Le fichier commence généralement par le mot Test.

Pour exécuter un test depuis FreeCAD, passez à l'atelier Test puis Commandes de test → TestToolsGui → Autotest → Sélectionnez le nom du test, puis entrez le nom du fichier Python avec les tests. Par exemple, pour l'atelier Draft, il s'agirait de TestDraft puis appuyez sur Start.

Fonctions de test

Voici la liste des applications de test à partir de 0.15 Git 4207 :

TestAPP.All

Ajoute la fonction de test

BaseTests

Ajoute la fonction de test

UnitTests

Ajoute la fonction de test

Document

Ajoute la fonction de test

UnicodeTests

Ajoute la fonction de test

MeshTestsApp

Ajoute la fonction de test

TestDraft

Ajoute la fonction de test

TestSketcherApp

Ajoute la fonction de test

TestPartApp

Ajoute la fonction de test

TestPartDesignApp

Ajoute la fonction de test

TestPathApp

Exemples de tests pour l'atelier Path :

  • depthTestCases :
  • PathTestUtils :
  • TestDressupDogbone : Tester la fonctionnalité de l'habillage de Dogbone.
  • TestHoldingTags : Test de la fonctionnalité d'habillage des étiquettes de maintien.
  • TestPathAdaptive : Test de la capacité de sélection du fonctionnement adaptatif.
  • TestPathCore : Test de la fonctionnalité de base de l'atelier Path.
  • TestPathDeburr : Test de la fonctionnalité générale de l'opération Deburr.
  • TestPathGeom : Test de diverses fonctions disponibles dans le module PathGeom.
  • TestPathHelix : Test de la fonctionnalité générale de l'opération Helix.
  • TestPathLog : Teste diverses fonctions disponibles dans le module de débogage et de feedback PathLog.
  • TestPathOpTools :
  • TestPathPreferences : Testez diverses fonctions disponibles dans le module PathPreferences.
  • TestPathPropertyBag :
  • TestPathSetupSheet :
  • TestPathStock :
  • TestPathThreadMilling :
  • TestPathTool :
  • TestPathToolBit :
  • TestPathToolController :
  • TestPathTooltable :
  • TestPathUtil : Tester diverses fonctions disponibles dans le module PathUtil.
  • TestPathVcarve : Teste la fonctionnalité générale de l'opération Vcarve.
  • TestPathVoronoi :

Workbench

Ajoute la fonction de test

Menu

Ajoute la fonction de test

Menu.MenuDeleteCases

Ajoute la fonction de test

Menu.MenuCreateCases

Ajoute la fonction de test

Script

Voir aussi: FreeCAD Script de base.

Recevoir une liste de tous les modules de test de premier niveau

FreeCAD.__unit_test__

Notez que les modules de test retournés ici dépendent de la présence ou non d'une interface graphique. C'est-à-dire que lorsqu'ils sont exécutés en mode console, les différents tests se terminant par "Gui" sont absents.

Lancer des tests spécifiques

Il existe plusieurs façons d'exécuter des tests en utilisant la bibliothèque unittest de Python. Le cadre de test de FreeCAD supprime une partie des cas basiques pour les cas les plus courants.

Exécute tous les tests définis dans un module de Python :

import Test, TestFemApp
Test.runTestsFromModule(TestFemApp)

Exécute tous les tests définis dans une classe de Python :

import Test, femtest.app.test_solver_calculix
Test.runTestsFromClass(femtest.app.test_solver_calculix.TestSolverCalculix)

Exemple 1

Dans la console Python de FreeCAD, le format de code suivant peut être utilisé pour exécuter des tests intégrés. Remplacez le texte rouge "TestFem" dans le code ci-dessous par le nom du module de test souhaité.

  • Par exemple, utilisez "TestPathApp" pour exécuter tous les tests unitaires du cadre de test unitaire de l'atelier Path.
  • Les sous-modules sont disponibles en utilisant la notation par points, comme "TestPathApp.TestPathAdaptive" pour n'exécuter que les tests unitaires Adaptive dans le cadre de test plus large de l'atelier Path.
  • Plusieurs modules ou sous-modules de test peuvent être combinés en ajoutant un autre appel de méthode `suite.addTest(...)` comme celui du code ci-dessous mais avec une référence de module ou de sous-module différente.
  • La sortie pour le code ci-dessous sera dans le panneau Report View dans le FreeCAD GUI.
  • La source du code est copiée à partir d'un message de l'utilisateur du forum FreeCAD, sgrogan, dans le sujet unit tests per python, avec le crédit donné à l'utilisateur du forum, wmayer.
import unittest
suite = unittest.TestSuite()
suite.addTest(unittest.defaultTestLoader.loadTestsFromName("TestFem"))
r = unittest.TextTestRunner()
r.run(suite)

Ressources additionnelles

Sujets du forum