Releases: DetachHead/pytest-robotframework
3.1.0
What's Changed
- Deprecate
@listener
and@pre_rebot_modifier
decorators and makeRobotOptions
dict fully typed by @DetachHead in #190 - fix crash when disabling xdist with
-n 0
by @DetachHead in #192
Full Changelog: 3.0.1...3.1.0
3.0.1
What's Changed
- fix crash when xdist is not installed by @DetachHead in #187
- fix no tests being run when working directory is in a different location to both the pytest config file and the tests by @DetachHead in #188
Full Changelog: 3.0.0...3.0.1
3.0.0
🚀 xdist support
pytest-robotframework now supports running tests concurrently with pytest-xdist!
when executing pytest with the -n
argument, the plugin will launch a robot instance for each worker and automatically merge together the log files at the end.
⚠ breaking changes - new ways to specify robot arguments
via the command line
robot options can now be specified as pytest cli arguments using the --robot-*
prefix. the deprecated --robotargs
argument has been removed
before
pytest --robotargs="--variable foo:bar --outputdir baz"
after
pytest --robot-variable foo:bar --robot-outputdir baz
this is much safer as it does not allow you to specify arguments that would interfere with the functionality of the plugin. if you need to use a robot argument that is not available with a --robot-*
see the config section of the documentation for the pytest equivalent.
programmatically
the pytest_robot_modify_args
hook has been replaced with the pytest_robot_modify_options
hook which allows you to modify the robot options as a dict instead of a list of arguments. the options are more complete as they include default values and any options that were changed with the ROBOT_OPTIONS
environment variable.
before
def pytest_robot_modify_args(session: Session, args: list[str], collect_only: bool):
if not collect_only:
args.extend(["variable", "foo:bar"])
after
from pytest_robotframework import RobotOptions
def pytest_robot_modify_options(session: Session, options: RobotOptions):
if not session.config.option.collectonly:
options["variable"].append("foo:bar")
Full Changelog: 2.5.2...3.0.0
2.5.2
What's Changed
- Fix no tests being run when pytest config file is in a different location by @DetachHead in #173
Full Changelog: 2.5.1...2.5.2
2.5.1
What's Changed
- fix class/module scoped fixtures being re-executed on every test by @DetachHead in #163
Full Changelog: 2.5.0...2.5.1
2.5.0
What's Changed
- add contributing.md by @DetachHead in #155
- fix assertion pass hook in pytest 8 by @DetachHead in #160
- add support for robotframework 7.0 by @DetachHead in #142
Full Changelog: 2.4.0...2.5.0
2.4.0
What's Changed
- improve documentation about continuable failures by @DetachHead in #146
- clean up some of the code used for keywords by @DetachHead in #148
- fix issue where robot runs with an outdated cwd if imported before pytest runs by @DetachHead in #151
- support kwargs in robot tags by @Loch64 in #153
New Contributors
Full Changelog: 2.3.1...2.4.0
2.3.1
What's Changed
- added docs site: https://detachhead.github.io/pytest-robotframework
- fix error formatting when raising errors caught by
catch_errors
decorator by @DetachHead in #144
Full Changelog: 2.3.0...2.3.1
2.3.0
What's Changed
- refactor
keyword
decorator to require explicitly specifying whether to wrap a context manager by @DetachHead in #136
Full Changelog: 2.2.0...2.3.0
2.2.0
What's Changed
- add
pre_rebot_modifier
decorator and refactorlistener
to work on instances by @DetachHead in #135
Full Changelog: 2.1.0...2.2.0