seitime-frappe/frappe/testing
David Arnold e7776021aa
refactor: Structure frappe.test.utils (green to green) (#28038)
* docs: constitute frappe.test readme

* refactor: move utils to __init__

* refactor: move generators into generators.py

* refactor: move cm into context_managers.py

* refactor: move test classes into submodule

* refactor: reexport general purpose context managers

* refactor: adapt imports (treewide)
2024-10-08 15:10:24 +00:00
..
__init__.py Testing Module (#28000) 2024-10-07 09:46:49 +02:00
config.py Testing Module (#28000) 2024-10-07 09:46:49 +02:00
discovery.py refactor: Structure frappe.test.utils (green to green) (#28038) 2024-10-08 15:10:24 +00:00
environment.py fix: Testing Module 28000 (#28032) 2024-10-08 10:14:19 +00:00
README.md Testing Module (#28000) 2024-10-07 09:46:49 +02:00
result.py Testing Module (#28000) 2024-10-07 09:46:49 +02:00
runner.py Testing Module (#28000) 2024-10-07 09:46:49 +02:00
utils.py Testing Module (#28000) 2024-10-07 09:46:49 +02:00

Frappe Testing Module

This module provides a comprehensive framework for running tests in Frappe applications. It includes functionality for test discovery, execution, result reporting, and environment setup.

Key Components

  • TestConfig: Configuration class for customizing test execution
  • TestRunner: Main class for running test suites with additional Frappe-specific functionality
  • TestResult: Custom test result class for improved output formatting and logging
  • discover_all_tests: Function to discover all tests in specified Frappe apps
  • discover_doctype_tests: Function to discover tests for specific DocTypes
  • discover_module_tests: Function to discover tests in specific modules

Usage

This module is typically used by Frappe's CLI commands for running tests, but can also be used programmatically for custom test execution scenarios.

For detailed information about each component, please refer to the well-commented code in the following files:

Example

from frappe.testing import TestConfig, TestRunner, discover_all_tests

config = TestConfig(failfast=True, verbose=2)
runner = TestRunner(cfg=config)
discover_all_tests(['my_app'], runner)
runner.run()

For more detailed information about each component and its functionality, please refer to the docstrings and comments in the respective files.