eric7.Testing.Interfaces.TestExecutorBase

Module implementing the executor base class for the various testing frameworks and supporting classes.

Global Attributes

None

Classes

TestConfig Class containing the test run configuration.
TestExecutorBase Base class for test framework specific implementations.
TestResult Class containing the test result data.
TestResultCategory Class defining the supported result categories.

Functions

None


TestConfig

Class containing the test run configuration.

Derived from

None

Class Attributes

collectCoverage
coverageFile
discover
discoverOnly
discoveryStart
eraseCoverage
failFast
failedOnly
interpreter
testCases
testFilename
testMarkerExpression
testName
testNamePattern
venvName

Class Methods

None

Methods

None

Static Methods

None
Up


TestExecutorBase

Base class for test framework specific implementations.

Signals

collectError(list of tuple of (str, str)
) emitted when errors are encountered during test collection. Tuple elements are the test name and the error message.
collected(list of tuple of (str, str, str, str, int, list)
) emitted after all tests have been collected. Tuple elements are the test id, the test name, a short description of the test, the test file name, the line number of the test and the elements of the test path as a list.
coverageDataSaved(str)
emitted after the coverage data was saved. The element is the absolute path of the coverage data file.
discoveryAboutToBeStarted()
emitted just before the test discovery will be started
discoveryFinished(int, float)
emitted when the discovery has finished. The elements are the number of discovered tests and the duration in seconds.
startTest(tuple of (str, str, str)
emitted before tests are run. Tuple elements are test id, test name and short description.
stop()
emitted when the test process is being stopped.
testFinished(list, str)
emitted when the test has finished. The elements are the list of test results and the captured output of the test worker (if any).
testResult(TestResult)
emitted when a test result is ready
testRunAboutToBeStarted()
emitted just before the test run will be started.
testRunFinished(int, float)
emitted when the test run has finished. The elements are the number of tests run and the duration in seconds.

Derived from

QObject

Class Attributes

module
name
runner

Class Methods

isInstalled Class method to check whether a test framework is installed.

Methods

TestExecutorBase Constructor
_prepareProcess Protected method to prepare a process object to be started.
createArguments Public method to create the arguments needed to start the test process.
discover Public method to start the test discovery process.
finished Public method handling the unit test process been finished.
getMarkers Public method to get the list of defined markers.
getVersions Public method to get the test framework version and version information of its installed plugins.
hasCoverage Public method to check, if the collection of coverage data is available.
readAllOutput Public method to read all output of the test process.
start Public method to start the testing process.
startDebug Public method to start the test run with debugger support.
stopIfRunning Public method to stop the testing process, if it is running.
supportsMarkers Public method to indicate the support for test filtering using markers and/or marker expressions.
supportsPatterns Public method to indicate the support for test filtering using test name patterns or a test name pattern expression.

Static Methods

None

TestExecutorBase.isInstalled (class method)

isInstalled(interpreter)

Class method to check whether a test framework is installed.

The test is performed by checking, if a module loader can found.

interpreter (str)
interpreter to be used for the test
Return:
flag indicating the test framework module is installed
Return Type:
bool

TestExecutorBase (Constructor)

TestExecutorBase(testWidget)

Constructor

testWidget (TestingWidget)
reference to the unit test widget

TestExecutorBase._prepareProcess

_prepareProcess(workDir, pythonpath)

Protected method to prepare a process object to be started.

workDir (str)
working directory
pythonpath (list of str)
list of directories to be added to the Python path
Return:
prepared process object
Return Type:
QProcess

TestExecutorBase.createArguments

createArguments(config)

Public method to create the arguments needed to start the test process.

config (TestConfig)
configuration for the test execution
Return:
list of process arguments
Return Type:
list of str
Raises NotImplementedError:
this method needs to be implemented by derived classes

TestExecutorBase.discover

discover(config, pythonpath)

Public method to start the test discovery process.

config (TestConfig)
configuration for the test discovery
pythonpath (list of str)
list of directories to be added to the Python path
Raises RuntimeError:
raised if the the test discovery process did not start
Raises ValueError:
raised if no start directory for the test discovery was given

TestExecutorBase.finished

finished()

Public method handling the unit test process been finished.

This method should read the results (if necessary) and emit the signal testFinished.

TestExecutorBase.getMarkers

getMarkers(interpreter, workdir)

Public method to get the list of defined markers.

interpreter (str)
interpreter to be used for the test (unused)
workdir (str)
name of the working directory
Return:
dictionary containing the marker as key and the associated description as value
Return Type:
dict

TestExecutorBase.getVersions

getVersions(interpreter)

Public method to get the test framework version and version information of its installed plugins.

interpreter (str)
interpreter to be used for the test (unused)
Return:
dictionary containing the framework name and version and the list of available plugins with name and version each
Return Type:
dict

TestExecutorBase.hasCoverage

hasCoverage(interpreter)

Public method to check, if the collection of coverage data is available.

interpreter (str)
interpreter to be used for the test (unused)
Return:
flag indicating the availability of coverage functionality
Return Type:
bool

TestExecutorBase.readAllOutput

readAllOutput(process=None)

Public method to read all output of the test process.

process (QProcess)
reference to the process object
Return:
test process output
Return Type:
str

TestExecutorBase.start

start(config, pythonpath)

Public method to start the testing process.

config (TestConfig)
configuration for the test execution
pythonpath (list of str)
list of directories to be added to the Python path
Raises RuntimeError:
raised if the the testing process did not start

TestExecutorBase.startDebug

startDebug(config, pythonpath, debugger)

Public method to start the test run with debugger support.

config (TestConfig)
configuration for the test execution
pythonpath (list of str)
list of directories to be added to the Python path
debugger (DebugUI)
refference to the debugger interface

TestExecutorBase.stopIfRunning

stopIfRunning()

Public method to stop the testing process, if it is running.

TestExecutorBase.supportsMarkers

supportsMarkers(interpreter)

Public method to indicate the support for test filtering using markers and/or marker expressions.

interpreter (str)
interpreter to be used for the test (unused)
Return:
flag indicating support of markers
Return Type:
bool

TestExecutorBase.supportsPatterns

supportsPatterns(interpreter)

Public method to indicate the support for test filtering using test name patterns or a test name pattern expression.

interpreter (str)
interpreter to be used for the test (unused)
Return:
flag indicating support of markers
Return Type:
bool
Up


TestResult

Class containing the test result data.

Derived from

None

Class Attributes

category
description
duration
extra
filename
id
lineno
message
name
status
subtestResult

Class Methods

None

Methods

None

Static Methods

None
Up


TestResultCategory

Class defining the supported result categories.

Derived from

IntEnum

Class Attributes

FAIL
OK
PENDING
RUNNING
SKIP

Class Methods

None

Methods

None

Static Methods

None
Up