Testing/ro: Difference between revisions
(Updating to match new version of source page) |
(Updating to match new version of source page) |
||
(11 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
<languages/> |
<languages/> |
||
{{docnav |
|||
{{Docnav |
|||
|[[Debugging|Debugging]] |
|[[Debugging|Debugging]] |
||
|[[FreeCAD_Build_Tool|FreeCAD Build Tool]] |
|||
|[[Continuous Integration|Continuous Integration]] |
|||
}} |
}} |
||
[[Image:Workbench_Test.svg| |
[[Image:Workbench_Test.svg|thumb|128px|Test workbench icon]] |
||
{{TOCright}} |
|||
<div class="mw-translate-fuzzy"> |
<div class="mw-translate-fuzzy"> |
||
Line 11: | Line 14: | ||
Aceasta este lista de aplicații de testare de la 0,15 Git 4207: |
Aceasta este lista de aplicații de testare de la 0,15 Git 4207: |
||
</div> |
</div> |
||
{{TOCright}} |
|||
<div class="mw-translate-fuzzy"> |
<div class="mw-translate-fuzzy"> |
||
Line 30: | Line 31: | ||
{{Code|code= |
{{Code|code= |
||
freecad -t TestDraft |
freecad -t TestDraft |
||
}} |
|||
If a test does not need the GUI, it can also be executed in console mode by setting the {{incode|-c}} or {{incode|--console}} option in addition. This usually results in much faster startup time as the GUI is not loaded. For example: |
|||
{{Code|code= |
|||
freecad -c -t TestPartDesignApp |
|||
}} |
}} |
||
Line 39: | Line 46: | ||
== Test functions == |
== Test functions == |
||
This is the list of test apps as of 0.15 git 4207: |
This is the list of test apps as of 0.15 git 4207: |
||
<div class="mw-translate-fuzzy"> |
|||
=== TestAPP.All === |
=== TestAPP.All === |
||
Adăugați funcția de testare |
Adăugați funcția de testare |
||
</div> |
|||
Add test function |
|||
<div class="mw-translate-fuzzy"> |
|||
=== BaseTests === |
=== BaseTests === |
||
Adăugați funcția de testare |
Adăugați funcția de testare |
||
</div> |
|||
Add test function |
|||
<div class="mw-translate-fuzzy"> |
|||
=== UnitTests === |
=== UnitTests === |
||
Adăugați funcția de testare |
Adăugați funcția de testare |
||
</div> |
|||
Add test function |
|||
<div class="mw-translate-fuzzy"> |
|||
=== Document === |
=== Document === |
||
Adăugați funcția de testare |
Adăugați funcția de testare |
||
</div> |
|||
Add test function |
|||
<div class="mw-translate-fuzzy"> |
|||
=== UnicodeTests === |
=== UnicodeTests === |
||
Adăugați funcția de testare |
Adăugați funcția de testare |
||
</div> |
|||
Add test function |
|||
<div class="mw-translate-fuzzy"> |
|||
=== MeshTestsApp === |
=== MeshTestsApp === |
||
Adăugați funcția de testare |
Adăugați funcția de testare |
||
</div> |
|||
Add test function |
|||
=== TestDraft === |
=== TestDraft === |
||
Add test function |
Add test function |
||
<div class="mw-translate-fuzzy"> |
|||
=== TestSketcherApp === |
=== TestSketcherApp === |
||
Adăugați funcția de testare |
Adăugați funcția de testare |
||
</div> |
|||
Add test function |
|||
<div class="mw-translate-fuzzy"> |
|||
=== TestPartApp === |
=== TestPartApp === |
||
Adăugați funcția de testare |
Adăugați funcția de testare |
||
</div> |
|||
Add test function |
|||
<div class="mw-translate-fuzzy"> |
|||
=== TestPartDesignApp === |
=== TestPartDesignApp === |
||
Adăugați funcția de testare |
Adăugați funcția de testare |
||
</div> |
|||
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: |
|||
<div class="mw-translate-fuzzy"> |
|||
=== Workbench === |
=== Workbench === |
||
Adăugați funcția de testare |
Adăugați funcția de testare |
||
</div> |
|||
Add test function |
|||
<div class="mw-translate-fuzzy"> |
|||
=== Meniu === |
=== Meniu === |
||
Adăugați funcția de testare |
Adăugați funcția de testare |
||
</div> |
|||
Add test function |
|||
<div class="mw-translate-fuzzy"> |
|||
=== Menu.MenuDeleteCases === |
=== Menu.MenuDeleteCases === |
||
Adăugați funcția de testare |
Adăugați funcția de testare |
||
</div> |
|||
Add test function |
|||
=== Menu.MenuCreateCases === |
|||
Adăugați funcția de testare |
|||
<div class="mw-translate-fuzzy"> |
<div class="mw-translate-fuzzy"> |
||
=== Menu.MenuCreateCases === |
|||
{{docnav|Debugging|Continuous Integration}} |
|||
Adăugați funcția de testare |
|||
</div> |
</div> |
||
Add test function |
|||
{{Userdocnavi}} |
|||
==Scripting== |
|||
[[Category:Developer Documentation]] |
|||
{{Emphasis|See also:}} [[FreeCAD_Scripting_Basics|FreeCAD Scripting Basics]]. |
|||
[[Category:Test Framework]] |
|||
===Get a list of all top-level test modules=== |
|||
{{Code|code= |
|||
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 [https://docs.python.org/3/library/unittest.html 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: |
|||
{{Code|code= |
|||
import Test, TestFemApp |
|||
Test.runTestsFromModule(TestFemApp) |
|||
}} |
|||
Run all tests defined in a Python class: |
|||
{{Code|code= |
|||
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 [https://forum.freecadweb.org/viewtopic.php?style=3&p=153251#p153251 unit tests per python] topic, with credit there given to forum user, ''wmayer''. |
|||
{{Code|code= |
|||
import unittest |
|||
suite = unittest.TestSuite() |
|||
suite.addTest(unittest.defaultTestLoader.loadTestsFromName("TestFem")) |
|||
r = unittest.TextTestRunner() |
|||
r.run(suite) |
|||
}} |
|||
==Additional Resources== |
|||
===Forum Topics=== |
|||
* [https://forum.freecadweb.org/viewtopic.php?style=3&f=27&t=18379 Support for running specific unit tests with --run-test #331] |
|||
<div class="mw-translate-fuzzy"> |
|||
{{docnav|Debugging|Continuous Integration}} |
|||
</div> |
|||
<!--T:21--> |
|||
[[Category:Workbenches]] |
|||
{{Userdocnavi{{#translation:}}}} |
|||
[[Category:Testing]] |
|||
[[Category:Developer Documentation{{#translation:}}]] |
|||
[[Category:Test Framework{{#translation:}}]] |
|||
[[Category:Workbenches{{#translation:}}]] |
|||
[[Category:Testing{{#translation:}}]] |
Revision as of 09:30, 28 January 2022
Introducere
Aceasta este lista de aplicații de testare de la 0,15 Git 4207:
FreeCAD vine cu un cadru vast de testare. Bazele de testare se bazează pe un set de scripturi. Îngrijirea Python se află în modulul de testare.
You can run the tests from the command line, by using the -t
or --run-test
options.
Run all tests:
freecad --run-test 0
Run only some the specified unit test, for example:
freecad -t TestDraft
If a test does not need the GUI, it can also be executed in console mode by setting the -c
or --console
option in addition. This usually results in much faster startup time as the GUI is not loaded. For example:
freecad -c -t TestPartDesignApp
Each top level directory in FreeCAD should have a file with the tests that can be run for that particular workbench or module. The file usually starts with the word Test
.
To run a test from within FreeCAD, switch to the Test Workbench, then Test commands → TestToolsGui → Self test → Select test name, then enter the name of the Python file with the tests; for example, for the Draft Workbench, this would be TestDraft, then press Start.
Test functions
This is the list of test apps as of 0.15 git 4207:
TestAPP.All
Adăugați funcția de testare
Add test function
BaseTests
Adăugați funcția de testare
Add test function
UnitTests
Adăugați funcția de testare
Add test function
Document
Adăugați funcția de testare
Add test function
UnicodeTests
Adăugați funcția de testare
Add test function
MeshTestsApp
Adăugați funcția de testare
Add test function
TestDraft
Add test function
TestSketcherApp
Adăugați funcția de testare
Add test function
TestPartApp
Adăugați funcția de testare
Add test function
TestPartDesignApp
Adăugați funcția de testare
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
Adăugați funcția de testare
Add test function
Meniu
Adăugați funcția de testare
Add test function
Menu.MenuDeleteCases
Adăugați funcția de testare
Add test function
Menu.MenuCreateCases
Adăugați funcția de testare
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, Start, Surface, TechDraw, Test Framework, Web
- Hubs: User hub, Power users hub, Developer hub