Atelier Test

From FreeCAD Documentation
Revision as of 19:33, 13 September 2021 by David69 (talk | contribs)
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

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

Add test function

UnicodeTests

Ajoute la fonction de test

Add test function

MeshTestsApp

Ajoute la fonction de test

Add test function

TestDraft

Ajoute la fonction de test

Add test function

TestSketcherApp

Ajoute la fonction de test

Add test function

TestPartApp

Ajoute la fonction de test

Add test function

TestPartDesignApp

Ajoute la fonction de test

Add test function

TestPathApp

Path workbench test cases:

  • depthTestCases:
  • PathTestUtils:
  • TestDressupDogbone: Test functionality of Dogbone dressup.
  • TestHoldingTags: Test functionality of Holding Tags dressup.
  • TestPathAdaptive: Test selection capability of Adaptive operation.
  • TestPathCore: Test core functionality of Path workbench.
  • TestPathDeburr: Test general functionality of Deburr operation.
  • TestPathGeom: Test various functions available in the PathGeom module.
  • TestPathHelix: Test general functionality of Helix operation.
  • TestPathLog: Test various functions available in the PathLog debugging and feedback module.
  • TestPathOpTools:
  • TestPathPreferences: Test various functions available in the PathPreferences module.
  • TestPathPropertyBag:
  • TestPathSetupSheet:
  • TestPathStock:
  • TestPathThreadMilling:
  • TestPathTool:
  • TestPathToolBit:
  • TestPathToolController:
  • TestPathTooltable:
  • TestPathUtil: Test various functions available in the PathUtil module.
  • TestPathVcarve: Test general functionality of Vcarve operation.
  • TestPathVoronoi:

Workbench

Ajoute la fonction de test

Add test function

Menu

Ajoute la fonction de test

Add test function

Menu.MenuDeleteCases

Ajoute la fonction de test

Add test function

Menu.MenuCreateCases

Ajoute la fonction de test

Add test function

Scripting

See also: FreeCAD Scripting Basics.

Example 1

Within the Python Console of FreeCAD, the following code format may be used to run built-in tests. Replace the red "TestFem" text in the code below with the desired module test name.

  • For example, use "TestPathApp" to run all unit tests for the Path workbench unit test framework.
  • Submodules are available using dot notation, like "TestPathApp.TestPathAdaptive" to only run the Adaptive unit tests within the greater Path workbench test framework.
  • Multiple test modules or submodules may be combined by adding another `suite.addTest(...)` method call just like the one in the code below, but with a different module or submodule reference.
  • Output for the code below will be in the Report View panel within the FreeCAD GUI.
  • Code source is copied from post by FreeCAD forum user, sgrogan, in the unit tests per python topic, with credit there given to forum user, wmayer.
import unittest
suite = unittest.TestSuite()
suite.addTest(unittest.defaultTestLoader.loadTestsFromName("TestFem"))
r = unittest.TextTestRunner()
r.run(suite)

Additional Resources

Forum Topics