TestRegistry
Test case registry for discovering and managing test cases.
Test cases are registered via the @register_test decorator or by calling TestRegistry.register() directly.
Classes
- class TestRegistry
Registry of available test cases.
Test cases register themselves using the @register_test decorator or by calling TestRegistry.register() directly.
- Example:
@register_test(category=”algorithm”) class TestAlgorithmWatershed(TestCase):
name = “algorithm_watershed” description = “Test watershed algorithm” …
# Or manually: TestRegistry.register(TestAlgorithmWatershed)
Methods:
- register()
Register a test case class.
- unregister()
Unregister a test case by name.
- get()
Get a test case by name.
- list_tests()
List all registered test cases.
- list_categories()
List all unique categories.
- clear()
Clear all registered tests. Mainly for testing.
Functions
- register()
Register a test case class.
- Args:
test_cls: TestCase subclass to register. category: Optional category override.
- unregister()
Unregister a test case by name.
- Args:
name: Name of test to unregister.
- Returns:
True if test was found and removed.
- get()
Get a test case by name.
- Args:
name: Name of test to get.
- Returns:
TestCaseInfo or None if not found.
- list_tests()
List all registered test cases.
- Args:
category: Optional category filter.
- Returns:
List of TestCaseInfo objects.
- list_categories()
List all unique categories.
- Returns:
Sorted list of category names.
- clear()
Clear all registered tests. Mainly for testing.
- register_test()
Decorator to register a test case class.
- Usage:
@register_test(category=”algorithm”) class TestAlgorithmWatershed(TestCase):
name = “algorithm_watershed” description = “Test watershed algorithm” …
- Args:
category: Test category for filtering.
- Returns:
Class decorator that registers the test.
- decorator()