Testing Guide¶
This guide covers testing practices for gmshparser development.
Running Tests¶
Run All Tests¶
Run Specific Test File¶
Run with Coverage¶
Generate HTML Coverage Report¶
Writing Tests¶
Test Structure¶
def test_feature_name():
"""Test description."""
# Arrange - set up test data
mesh = gmshparser.parse("testdata/simple/testmesh.msh")
# Act - perform action
result = mesh.get_nodes()
# Assert - verify expectations
assert len(result) > 0
Testing Parsers¶
def test_parser():
"""Test parser with known mesh file."""
mesh = gmshparser.parse("testdata/simple/testmesh_v2_0.msh")
assert mesh.get_version() == 2.0
assert mesh.get_number_of_nodes() == 6
assert mesh.get_number_of_elements() == 2
Test Data¶
Test meshes are located in testdata/:
testdata/simple/- Simple meshes for unit teststestdata/complex/- Complex meshes with mixed elementstestdata/large/- Large meshes for performance testing
See testdata/README.md for details.
Coverage Goals¶
- Target: 95%+ coverage
- Current: 97% coverage
- All new features must include tests
Continuous Integration¶
Tests run automatically on every push via GitHub Actions.
Next Steps¶
- See Test Results for current test status
- Check Contributing Guide for development workflow