【发布时间】:2017-12-04 07:15:00
【问题描述】:
使用 Robot Framework,我打算使用 Gherkin 风格的测试,因为它是 BDD/ATDD 的通用语言。我可以指定这样的测试:
*** Test Cases ***
New alert
Given there were no alerts so far
When there is an alert
Then an alert should be sent with level LOW
Robot 会在没有任何帮助的情况下将其映射到我的测试库中的方法:
def there_were_no_alerts_so_far(self):
assert(self.alert == None)
def there_is_an_alert(self):
self.alert = self.alert_processor.alert()
def an_alert_should_be_sent_with_level(self, level):
assert_not_none(self.alert )
assert_equal(self.alert.level.name, level )
酷。我可以将level 之类的参数传递给测试库。
但我不知道该怎么做,就是指定一个位于子句中间的参数,如:
There there are 5 alerts sent
我想映射到测试库中的这个方法:
def there_is_an_alert_after_seconds(self, seconds):
...
在这种情况下,5 位于子句的中间。
在 pytest.bdd 中,测试库中有装饰器,您可以使用它们来指定如何解析子句。
机器人中的等价物是什么?
我试过了,但没有用:
*** Keywords ***
there is an alert after ${time} seconds
there is an alert after seconds ${time}
【问题讨论】: