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
TestCAMApp
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

- Démarrer avec FreeCAD
- Installation : Téléchargements, Windows, Linux, Mac, Logiciels supplémentaires, Docker, AppImage, Ubuntu Snap
- Bases : À propos de FreeCAD, Interface, Navigation par la souris, Méthodes de sélection, Objet name, Préférences, Ateliers, Structure du document, Propriétés, Contribuer à FreeCAD, Faire un don
- Aide : Tutoriels, Tutoriels vidéo
- Ateliers : Std Base, Arch, Assembly, CAM, Draft, FEM, Inspection, Mesh, OpenSCAD, Part, PartDesign, Points, Reverse Engineering, Robot, Sketcher, Spreadsheet, Surface, TechDraw, Test