Testare FreeCAD
Introduzione
Test Framework non è in realtà un ambiente di modellazione, ma contiene un set di script Python per eseguire diversi test sui componenti principali di FreeCAD, al fine di eseguire il debug dei problemi. Vedere anche come individuare gli errori.
Puoi avviare i test dalla riga di comando, usando le opzioni -t
o --run-test
.
Avvia tutti i test:
freecad --run-test 0
Avvia solo alcuni test specificati, per esempio
freecad -t TestDraft
Se un test non ha bisogno della GUI, può anche essere eseguito in modalità console impostando l'opzione -c
o --console
in aggiunta. Questo di solito si traduce in tempi di avvio molto più rapidi poiché la GUI non viene caricata. Per esempio:
freecad -c -t TestPartDesignApp
Ogni directory di primo livello in FreeCAD dovrebbe avere un file con i test che possono essere eseguiti per quel particolare ambiente di lavoro o modulo. Il file di solito inizia con la parola Test
.
Per eseguire un test da FreeCAD, passare all'Ambiente Test, quindi Test commands → TestToolsGui → Self test → Select test name, quindi immettere il nome del file Python con i test; ad esempio, per l' Ambiente Draft, sarebbe TestDraft, quindi premere Start.
Funzioni di test
Questa è la lista delle applicazioni di test di 0.15 Git 4207:
TestAPP.All
Add test function
Add test function
BaseTests
Add test function
Add test function
UnitTests
Add test function
Add test function
Document
Add test function
Add test function
UnicodeTests
Add test function
Add test function
MeshTestsApp
Add test function
Add test function
TestDraft
Add test function
TestSketcherApp
Add test function
Add test function
TestPartApp
Add test function
Add test function
TestPartDesignApp
Add test function
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
Add test function
Add test function
Menu
Add test function
Add test function
Menu.MenuDeleteCases
Add test function
Add test function
Menu.MenuCreateCases
Add test function
Add test function
Scripting
See also: FreeCAD Scripting Basics.
Get a list of all top-level test modules
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)
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
- Getting started
- Installation: Download, Windows, Linux, Mac, Additional components, Docker, AppImage, Ubuntu Snap
- Basics: About FreeCAD, Interface, Mouse navigation, Selection methods, Object name, Preferences, Workbenches, Document structure, Properties, Help FreeCAD, Donate
- Help: Tutorials, Video tutorials
- Workbenches: Std Base, Arch, Assembly, CAM, Draft, FEM, Inspection, Mesh, OpenSCAD, Part, PartDesign, Points, Reverse Engineering, Robot, Sketcher, Spreadsheet, Surface, TechDraw, Test Framework
- Hubs: User hub, Power users hub, Developer hub