forked from pool/python-pytest-bdd
* Address another compatibility issue with pytest 8.1 (fixture registration).
* Address a bug introduced in pytest-bdd 7.1 caused by incorrect pytest
version check.
* Address compatibility issue with pytest 8.1.
* Fix errors occurring if `pytest_unconfigure` is called before
`pytest_configure`.
* parsers.re now does a fullmatch instead of a partial match. This is to
make it work just like the other parsers, since they don't ignore
non-matching characters at the end of the string.
* Drop python 3.7 compatibility, as it's no longer supported.
* Declare official support for python 3.12
* Improve parser performance by 15%
* Fix regression introduced in version 6.1.0 where the
pytest_bdd_after_scenario hook would be called after every step instead
of after the scenario.
* Fix bug where steps without parsers would take precedence over steps
with parsers.
* Step functions can now be decorated multiple times with @given, @when,
@then. Previously every decorator would override converters and
target_fixture every at every application.
* Require pytest>=6.2
* Using modern way to specify hook options to avoid deprecation warnings
with pytest >=7.2.
* Add generic step decorator that will be used for all kind of steps
* Add stacklevel param to given, when, then, step decorators. This allows
for programmatic step generation
* Hide pytest-bdd internal method in user tracebacks
* Make the package PEP 561-compatible
* Configuration option bdd_features_base_dir is interpreted as relative
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:pytest/python-pytest-bdd?expand=0&rev=23
101 lines
3.3 KiB
RPMSpec
101 lines
3.3 KiB
RPMSpec
#
|
|
# spec file for package python-pytest-bdd
|
|
#
|
|
# Copyright (c) 2024 SUSE LLC
|
|
#
|
|
# All modifications and additions to the file contributed by third parties
|
|
# remain the property of their copyright owners, unless otherwise agreed
|
|
# upon. The license for this file, and modifications and additions to the
|
|
# file, is the same license as for the pristine package itself (unless the
|
|
# license for the pristine package is not an Open Source License, in which
|
|
# case the license is the MIT License). An "Open Source License" is a
|
|
# license that conforms to the Open Source Definition (Version 1.9)
|
|
# published by the Open Source Initiative.
|
|
|
|
# Please submit bugfixes or comments via https://bugs.opensuse.org/
|
|
#
|
|
|
|
|
|
Name: python-pytest-bdd
|
|
Version: 7.1.2
|
|
Release: 0
|
|
Summary: BDD for pytest
|
|
License: MIT
|
|
URL: https://github.com/pytest-dev/pytest-bdd
|
|
Source: https://github.com/pytest-dev/pytest-bdd/archive/%{version}.tar.gz#/pytest-bdd-%{version}.tar.gz
|
|
BuildRequires: %{python_module base >= 3.8}
|
|
BuildRequires: %{python_module pip}
|
|
BuildRequires: %{python_module poetry}
|
|
BuildRequires: %{python_module wheel}
|
|
BuildRequires: fdupes
|
|
BuildRequires: python-rpm-macros
|
|
Requires: python-Mako
|
|
Requires: python-packaging
|
|
Requires: python-parse
|
|
Requires: python-parse_type
|
|
Requires: python-pytest >= 6.2.0
|
|
Requires: python-typing_extensions
|
|
Requires(post): update-alternatives
|
|
Requires(postun): update-alternatives
|
|
BuildArch: noarch
|
|
# SECTION test requirements
|
|
BuildRequires: %{python_module Mako}
|
|
BuildRequires: %{python_module execnet}
|
|
BuildRequires: %{python_module packaging}
|
|
BuildRequires: %{python_module parse_type}
|
|
BuildRequires: %{python_module parse}
|
|
BuildRequires: %{python_module pytest >= 6.2.0}
|
|
BuildRequires: %{python_module typing_extensions}
|
|
%python_subpackages
|
|
|
|
%description
|
|
BDD library for the py.test runner
|
|
|
|
pytest-bdd implements a subset of Gherkin language for the automation of the project
|
|
requirements testing and easier behavioral driven development.
|
|
|
|
Unlike many other BDD tools it doesn't require a separate runner and benefits from
|
|
the power and flexibility of the pytest. It allows to unify your unit and functional
|
|
tests, easier continuous integration server configuration and maximal reuse of the
|
|
tests setup.
|
|
|
|
Pytest fixtures written for the unit tests can be reused for the setup and actions
|
|
mentioned in the feature steps with dependency injection, which allows a true BDD
|
|
just-enough specification of the requirements without maintaining any context object
|
|
containing the side effects of the Gherkin imperative declarations.
|
|
|
|
%prep
|
|
%setup -q -n pytest-bdd-%{version}
|
|
|
|
%build
|
|
%pyproject_wheel
|
|
|
|
%install
|
|
%pyproject_install
|
|
%python_expand %fdupes %{buildroot}%{$python_sitelib}
|
|
%python_clone -a %{buildroot}%{_bindir}/pytest-bdd
|
|
|
|
%check
|
|
export LANG=en_US.UTF-8
|
|
%{python_expand # provide the u-a controlled command in PATH
|
|
mkdir -p build/testbin
|
|
ln -s %{buildroot}%{_bindir}/pytest-bdd-%{$python_bin_suffix} build/testbin/pytest-bdd
|
|
}
|
|
export PATH=$PWD/build/testbin:$PATH
|
|
%pytest
|
|
|
|
%post
|
|
%python_install_alternative pytest-bdd
|
|
|
|
%postun
|
|
%python_uninstall_alternative pytest-bdd
|
|
|
|
%files %{python_files}
|
|
%doc AUTHORS.rst CHANGES.rst README.rst
|
|
%license LICENSE.txt
|
|
%python_alternative %{_bindir}/pytest-bdd
|
|
%{python_sitelib}/pytest_bdd
|
|
%{python_sitelib}/pytest_bdd-%{version}.dist-info
|
|
|
|
%changelog
|