Running gherkin reporter on pytest-bdd tests raises KeyError
まだ誰も着手していません。
評価
- 難易度
- 2/5
- 見積もり時間
- 1〜3時間
- 初心者へのやさしさ
- 52/100
- issue の種類
- バグ
- 明瞭さ
- おおむね明確
- 活発さ
- 停滞
- 技術スタック
- python
- 領域
- testing-qa
調査の方向性
示されている pytest コマンドで失敗を再現し、その後 pytest_bdd/gherkin_terminal_reporter.py の pytest_runtest_logreport と _format_step_name を調査します。パラメータ化されたテストが KeyError なしで完了すること、および展開された Gherkin レポートが example のパラメーターを処理することを確認します。
索引モデルが issue の本文から書いたものです。
説明
Running below test:
pytest -k 'test_parametrized' --gherkin-terminal-reporter --gherkin-terminal-reporter-expanded
Raises following error:
Feature:
Scenario: Parametrized given, when, thens
INTERNALERROR> Traceback (most recent call last):
INTERNALERROR> File "/Users/milosz.sliwinski/.virtualenvs/pytest-bdd/lib/python2.7/site-packages/_pytest/main.py", line 96, in wrap_session
INTERNALERROR> session.exitstatus = doit(config, session) or 0
INTERNALERROR> File "/Users/milosz.sliwinski/.virtualenvs/pytest-bdd/lib/python2.7/site-packages/_pytest/main.py", line 131, in _main
INTERNALERROR> config.hook.pytest_runtestloop(session=session)
INTERNALERROR> File "/Users/milosz.sliwinski/.virtualenvs/pytest-bdd/lib/python2.7/site-packages/_pytest/vendored_packages/pluggy.py", line 724, in __call__
INTERNALERROR> return self._hookexec(self, self._nonwrappers + self._wrappers, kwargs)
INTERNALERROR> File "/Users/milosz.sliwinski/.virtualenvs/pytest-bdd/lib/python2.7/site-packages/_pytest/vendored_packages/pluggy.py", line 338, in _hookexec
INTERNALERROR> return self._inner_hookexec(hook, methods, kwargs)
INTERNALERROR> File "/Users/milosz.sliwinski/.virtualenvs/pytest-bdd/lib/python2.7/site-packages/_pytest/vendored_packages/pluggy.py", line 333, in <lambda>
INTERNALERROR> _MultiCall(methods, kwargs, hook.spec_opts).execute()
INTERNALERROR> File "/Users/milosz.sliwinski/.virtualenvs/pytest-bdd/lib/python2.7/site-packages/_pytest/vendored_packages/pluggy.py", line 596, in execute
INTERNALERROR> res = hook_impl.function(*args)
INTERNALERROR> File "/Users/milosz.sliwinski/.virtualenvs/pytest-bdd/lib/python2.7/site-packages/_pytest/main.py", line 152, in pytest_runtestloop
INTERNALERROR> item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
INTERNALERROR> File "/Users/milosz.sliwinski/.virtualenvs/pytest-bdd/lib/python2.7/site-packages/_pytest/vendored_packages/pluggy.py", line 724, in __call__
INTERNALERROR> return self._hookexec(self, self._nonwrappers + self._wrappers, kwargs)
INTERNALERROR> File "/Users/milosz.sliwinski/.virtualenvs/pytest-bdd/lib/python2.7/site-packages/_pytest/vendored_packages/pluggy.py", line 338, in _hookexec
INTERNALERROR> return self._inner_hookexec(hook, methods, kwargs)
INTERNALERROR> File "/Users/milosz.sliwinski/.virtualenvs/pytest-bdd/lib/python2.7/site-packages/_pytest/vendored_packages/pluggy.py", line 333, in <lambda>
INTERNALERROR> _MultiCall(methods, kwargs, hook.spec_opts).execute()
INTERNALERROR> File "/Users/milosz.sliwinski/.virtualenvs/pytest-bdd/lib/python2.7/site-packages/_pytest/vendored_packages/pluggy.py", line 595, in execute
INTERNALERROR> return _wrapped_call(hook_impl.function(*args), self.execute)
INTERNALERROR> File "/Users/milosz.sliwinski/.virtualenvs/pytest-bdd/lib/python2.7/site-packages/_pytest/vendored_packages/pluggy.py", line 253, in _wrapped_call
INTERNALERROR> return call_outcome.get_result()
INTERNALERROR> File "/Users/milosz.sliwinski/.virtualenvs/pytest-bdd/lib/python2.7/site-packages/_pytest/vendored_packages/pluggy.py", line 279, in get_result
INTERNALERROR> _reraise(*ex) # noqa
INTERNALERROR> File "/Users/milosz.sliwinski/.virtualenvs/pytest-bdd/lib/python2.7/site-packages/_pytest/vendored_packages/pluggy.py", line 264, in __init__
INTERNALERROR> self.result = func()
INTERNALERROR> File "/Users/milosz.sliwinski/.virtualenvs/pytest-bdd/lib/python2.7/site-packages/_pytest/vendored_packages/pluggy.py", line 596, in execute
INTERNALERROR> res = hook_impl.function(*args)
INTERNALERROR> File "/Users/milosz.sliwinski/.virtualenvs/pytest-bdd/lib/python2.7/site-packages/_pytest/runner.py", line 66, in pytest_runtest_protocol
INTERNALERROR> runtestprotocol(item, nextitem=nextitem)
INTERNALERROR> File "/Users/milosz.sliwinski/.virtualenvs/pytest-bdd/lib/python2.7/site-packages/_pytest/runner.py", line 79, in runtestprotocol
INTERNALERROR> reports.append(call_and_report(item, "call", log))
INTERNALERROR> File "/Users/milosz.sliwinski/.virtualenvs/pytest-bdd/lib/python2.7/site-packages/_pytest/runner.py", line 137, in call_and_report
INTERNALERROR> hook.pytest_runtest_logreport(report=report)
INTERNALERROR> File "/Users/milosz.sliwinski/.virtualenvs/pytest-bdd/lib/python2.7/site-packages/_pytest/vendored_packages/pluggy.py", line 724, in __call__
INTERNALERROR> return self._hookexec(self, self._nonwrappers + self._wrappers, kwargs)
INTERNALERROR> File "/Users/milosz.sliwinski/.virtualenvs/pytest-bdd/lib/python2.7/site-packages/_pytest/vendored_packages/pluggy.py", line 338, in _hookexec
INTERNALERROR> return self._inner_hookexec(hook, methods, kwargs)
INTERNALERROR> File "/Users/milosz.sliwinski/.virtualenvs/pytest-bdd/lib/python2.7/site-packages/_pytest/vendored_packages/pluggy.py", line 333, in <lambda>
INTERNALERROR> _MultiCall(methods, kwargs, hook.spec_opts).execute()
INTERNALERROR> File "/Users/milosz.sliwinski/.virtualenvs/pytest-bdd/lib/python2.7/site-packages/_pytest/vendored_packages/pluggy.py", line 596, in execute
INTERNALERROR> res = hook_impl.function(*args)
INTERNALERROR> File "/Users/milosz.sliwinski/workspace/pytest-bdd/pytest_bdd/gherkin_terminal_reporter.py", line 104, in pytest_runtest_logreport
INTERNALERROR> step_name = self._format_step_name(step['name'], **report.scenario['example_kwargs'])
INTERNALERROR> File "/Users/milosz.sliwinski/workspace/pytest-bdd/pytest_bdd/gherkin_terminal_reporter.py", line 122, in _format_step_name
INTERNALERROR> param_value = example_kwargs[param_name]
INTERNALERROR> KeyError: u'start'
- 主要言語
- Python
- スター
- 1.5k
- フォーク
- 252
- 平均マージ
- 1時間 20分
- マージ済み PR(30日)
- 4
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートなし
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
pytest-dev/pytest-bdd のほかの issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
pytest-dev/pytest-bdd#838 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 45/100
pytest-dev/pytest-bdd#805 ·
-
難易度 5/5 1週間以上 初心者へのやさしさ 30/100
pytest-dev/pytest-bdd#785 ·
-
難易度 4/5 3〜5日 初心者へのやさしさ 38/100
pytest-dev/pytest-bdd#784 ·
-
難易度 3/5 1〜2日 初心者へのやさしさ 45/100
pytest-dev/pytest-bdd#782 ·
pytest-dev/pytest-bdd の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 88/100
BasedHardware/omi#20271 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 92/100
openai/openai-cookbook#3153 ·
メンテナーはふだん 1 日以内に返信
-
cvss-severity:high devguard l3montree-cybersecurity/devguard/devguard pkg:golang/github.com/l3montree-dev/devguard risk:low state:open
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
l3montree-dev/devguard#3146 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
-
bug confirmed issue
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
open-webui/open-webui#31849 · コメント 2 件 ·
メンテナーはふだん 1 日以内に返信