簡體   English   中英

從功能文件讀取數據表-Pytest-bdd

[英]Reading Data tables from feature file - Pytest-bdd

我是pytest-bdd框架的新手。

以下是示例功能文件內容:

Scenario Outline: Google multiple search request

  Given I want to search in Google
    When I search for '<search_request>'
    Then I should see link to '<search_result>'

  Examples:
  | search_request | search_result |
  | Pytest BDD | Python BDD - Behaviour driven development framework |
  |  Cucumber | Cucumber |

從pytest-bdd生成的示例python文件:#coding = utf-8“”“” example.feature功能測試。“”“

from pytest_bdd import (
    given,
    scenario,
    then,
    when,
) 

 @scenario('example.feature', 'Google multiple search request')
def test_google_multiple_search_request():
    """Google multiple search request."""


@given('I want to search in Google')
def i_want_to_search_in_google():
    """I want to search in Google."""


@when('I search for '<search_request>'')
def i_search_for_search_request():
    """I search for '<search_request>'."""


@then('I should see link to '<search_result>'

Examples:
| search_request | search_result |
| Pytest BDD | Python BDD - Behaviour driven development framework |
|  Cucumber | Cucumber |
|  Cucumber2 | Cucumber2 |')
def i_should_see_link_to_search_resultexamples_search_request__search_result__pytest_bdd__python_bdd__behaviour_driven_development_framework___cucumber__cucumber___cucumber2__cucumber2_():
    """I should see link to '<search_result>'

Examples:
| search_request | search_result |
| Pytest BDD | Python BDD - Behaviour driven development framework |
|  Cucumber | Cucumber |
|  Cucumber2 | Cucumber2 |."""

pytest-bdd中是否有一種方法可以識別功能文件中提供的示例數據集並轉換為有效的python文件,就像生成骨架代碼一樣
或者我們需要手動對其進行編碼,以接受特征文件中的輸入數據

任何幫助,不勝感激。

此致Sanjay BS

看起來代碼生成有些錯誤。 以下內容不應該存在:

@then('我應該看到指向''的鏈接

示例: search_request | search_result | | Pytest BDD | Python BDD-行為驅動的開發框架| | 黃瓜 黃瓜 | 黃瓜2 | 黃瓜2 |')

首先讓我們修復功能文件(不需要單引號):

方案大綱: Google多個搜索請求

鑒於我想在Google中搜索

我搜索<search_request>

然后,我應該看到指向<search_result>的鏈接

例子:

| search_request | search_result |

| Pytest BDD | Python BDD-行為驅動的開發框架|

| 黃瓜 黃瓜

這是將變量從示例表傳遞到step函數的方式:

@when('I search for <search_request>')
def i_search_for_search_request(search_request):
    """I search for <search_request>."""
    print(search_request)

希望能幫助到你!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM