Atelier Test

From FreeCAD Documentation
Revision as of 21:29, 27 January 2022 by David69 (talk | contribs) (Created page with "===Recevoir une liste de tous les modules de test de premier niveau===")
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__

Note that the test modules returned here depend on whether a GUI available or not. I.e. when executed in console mode, various tests ending in "Gui" are missing.

Run specific tests

There are various ways of running tests using Python's unittest library. FreeCAD's test framework removes some of the boiler plate for the most common cases.

Run all tests defined in a python module:

import Test, TestFemApp
Test.runTestsFromModule(TestFemApp)

Run all tests defined in a python class:

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