Configuration
Manual tests, known as test specs, are written using Markdown files (*.md
) are maintained in the code section of the repo. By default, test specs are stored in a folder named specs
.
To enable manual testing, a .testspace.yml
configuration file is required at the root of your repo with the following minimum content:
manual:
The following is a simple example directory structure containing 2 test specs:
root
├─ README.md
├─ .testspace.yml
└─ specs
└─ myspec1.md
└─ myspec2.md
..
..
The .testspace.yml
file is the main mechanism used to configure how Testspace discovers and manage testing sessions.
important
Without the .testspace.yml
file, test specs will not be visible in Testspace
In addition to the YML file, Folders and Branches are also automatically discovered and used by Testspace.
.testspace.yml
To enable manual testing a .testspace.yml
configuration file is required at the root of your repo with the following minimum content:
manual:
The full .testspace.yml
configuration format is:
manual:
path: "/path/to/thespecs" # optional path to specs root, defaults to "specs"
publish_path: "path/to/report" # optional Testspace result's path to publish status to, defaults to ""
issues:
provider: "jira:project-key" # optional, defaults to "github:" (current org/repo)
label: # optional, defaults to "testspace"
release: "*_rel" # optional one or more branch-wildcard entries
path
The path
represents the root folder for spec files. It the path
is omitted, the root defaults to specs
.
manual:
path: "/path/to/thespecs" # optional path to specs root, defaults to "specs"
publish_path
The publish_path
represents the folder-path to publish status. It the publish_path
is omitted, the root defaults to ""
.
manual:
publish_path: "/path/to/report" # optional path to specs root, defaults to "specs"
Note that the publish_path is typically only used when publishing automated results into the same space.
Issues
The provider
used to configure which provider to use. Defaults to GitHub and the current repo.
The label
used for automatic setting of the generated issue. Defaults to testspace
.
Release
Testspace can be customized to manage "non" default branches as release branches, enabling the space to be used for manual execution vs test development.
release:
- "*_rel.1*" # optional one or more branch-wildcard entries
- "*_rel.2*"
important
When using *
or &
, at the beginning of a wildcard, make sure to use quotes.
Example
Following shows publishing manual results to a unique folder at the root called "manual tests"
. All branches created using the string "_release"
in its name, will be used for test execution.
manual:
path: "manual-tests"
publish_path: "manual results"
issues:
label: "testspace-bot"
release:
- "*_release*"
Folders
Test specs can also be organized into groups using repo source folders. When a large number of test specs are required, it is often useful to group similar tests in folders. Testspace automatically recognized the folders and presents them in the listings.
root
├─ README.md
├─ .testspace.yml
└─ specs
└─ folder1
└─ myspec1.md
└─ myspec2.md
└─ folder2
..
..
info
For more information on Groups refer here.
Branches
A repo's default branch (i.e. main) is always a release
space. All other branches are sandbox
spaces unless explicitly configured as a release
branch. The example configuration below sets all branches with the string release_
in its name as a release space:
manual:
release:
- "release_*"
A branch - Sandbox space
- is used to isolate new test development without affecting other release branches in the repository. Sandbox spaces do not persist spec runs.
important
Sandbox spaces do not persist spec runs.