Определите ключевое слово, содержащее переменную в рамках робота - PullRequest
0 голосов
/ 14 ноября 2018

В настоящее время я использую роботизированную среду для проекта с языковой стратегией Gherkin (Given When Then).

Мой файл функций выглядит следующим образом:

*** Settings ***
Documentation
... In Order to eat a dessert safely, 
... As a king
... I want to not take a lethal dessert 

Library eat_or_pass.Eat_or_pass


*** Test cases ***
Lethal Dessert
    [Template]  The result of ${hungriness} should be ${dessert}
    very hungry apple pie   
    hungry      biscuit
    not very hungry apple


*** Keywords ***
The result of ${hungriness} should be ${dessert}
    Given the king is ${hungriness}
    Then the related dessert is ${dessert}

Я хотел бы связать ключевое слово «Учитывая, что король $ {hungriness}» с его определением python, содержащимся в модуле python Eat_or_pass.py, который в настоящее время реализован следующим образом:

class Eat_or_pass(object):

def given_the_king_is_hungriness(self):
    pass

Когда я запускаю фреймворк робота, у меня появляется эта ошибка: «Смертельный десерт | FAIL | Не найдено ни одного ключевого слова с именем «Учитывая, что король $ {Hungriness}». " И я не знаю, как это решить. Кто-нибудь может мне помочь по этому вопросу?

Ответы [ 2 ]

0 голосов
/ 14 ноября 2018

Код робота:

*** Settings ***
Documentation
...    In Order to eat a dessert safely,
...    As a king
...    I want to not take a lethal dessert
Library    ./EatOrPass.py

*** Test Cases ***
Lethal Dessert
    [Template]    The Result Of ${hungriness} Should Be ${dessert}
    very hungry    apple pie
    hungry    biscuit
    not very hungry    apple

*** Keywords ***
The Result Of ${hungriness} Should Be ${dessert}
    Given The King Is ${hungriness}
    Then The Related Dessert Is ${dessert}

python lib:

from robot.api.deco import keyword


class EatOrPass(object):

    @keyword('The King Is ${hungriness}')
    def the_king_is(self, hungriness):
        pass

    @keyword('The Related Dessert Is ${dessert}')
    def the_related_dessert_is(self, dessert):
        pass

Я предлагаю вам использовать CamelCase для python и использовать 4 пробела для RF (лучшая читаемость).

0 голосов
/ 14 ноября 2018
*** Keywords ***
The result of ${hungriness} should be ${dessert}
    Given The king Is Hungriness   

Это должно быть Учитывая, что король голоден не Учитывая, что король $ {голодность}

class Eat_or_pass(object):
  def given_the_king_is_hungriness(self):
  pass
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...