TestCase
TestCase
corresponds to every test(title, testFunction) call in a test file. When a single test(title, testFunction) is running in multiple projects or repeated multiple times, it will have multiple TestCase
objects in corresponding projects' suites.
- testCase.ok()
- testCase.outcome()
- testCase.titlePath()
- testCase.annotations
- testCase.expectedStatus
- testCase.location
- testCase.results
- testCase.retries
- testCase.timeout
- testCase.title
#
testCase.ok()Whether the test is considered running fine. Non-ok tests fail the test run with non-zero exit code.
#
testCase.outcome()- returns:# <"skipped"|"expected"|"unexpected"|"flaky">
Testing outcome for this test. Note that outcome is not the same as testResult.status:
- Test that is expected to fail and actually fails is
'expected'
. - Test that passes on a second retry is
'flaky'
.
#
testCase.titlePath()Returns a list of titles from the root down to this test.
#
testCase.annotationsThe list of annotations applicable to the current test. Includes annotations from the test, annotations from all test.describe(title, callback) groups the test belongs to and file-level annotations for the test file.
Annotations are available during test execution through testInfo.annotations.
Learn more about test annotations.
#
testCase.expectedStatus- type: <"passed"|"failed"|"timedOut"|"skipped">
Expected test status.
- Tests marked as test.skip(title, testFunction) or test.fixme([condition, description]) are expected to be
'skipped'
. - Tests marked as test.fail([condition, description]) are expected to be
'failed'
. - Other tests are expected to be
'passed'
.
See also testResult.status for the actual status.
#
testCase.locationLocation in the source where the test is defined.
#
testCase.results- type: <Array<TestResult>>
Results for each run of this test.
#
testCase.retries- type: <number>
The maximum number of retries given to this test in the configuration.
Learn more about test retries.
#
testCase.timeout- type: <number>
The timeout given to the test. Affected by testConfig.timeout, testProject.timeout, test.setTimeout(timeout), test.slow([condition, description]) and testInfo.setTimeout(timeout).
#
testCase.title- type: <string>
Test title as passed to the test(title, testFunction) call.