Ruby on rails Cucumber/Capybara表中的变量

Ruby on rails Cucumber/Capybara表中的变量,ruby-on-rails,cucumber,Ruby On Rails,Cucumber,我在描述一幅随机画的行为。为此,我想写一个这样的场景: Scenario: Request a drawing Given a drawing list has been created And there is a drawing code for today And no emails have been sent Then "abc@domain.com" should have no emails And "def@domain.com" should have no

我在描述一幅随机画的行为。为此,我想写一个这样的场景:

Scenario: Request a drawing
  Given a drawing list has been created
  And there is a drawing code for today
  And no emails have been sent
  Then "abc@domain.com" should have no emails
  And "def@domain.com" should have no emails
  When I go to the drawing page
  Then I should see "Special Drawing"
  And the title should be "Special Drawing"
  And I fill in the following:
    |Promotion code           |#{@drawings.code}|
最后一行是我不清楚的那一行。我有一个步骤可以创建一个ivar,使
@drawings.code
成为一个有效的表达式,但我只是随机将插值语法放在其中,以说明我想做什么

关键是,我不知道代码,直到第二个给定的代码被执行,它才被确定。检索它的最佳方式是什么

谢谢

  • 轨道(3.0.3)
  • 黄瓜(0.10.0)
  • 黄瓜轨(0.3.2)
  • 水豚(0.4.0)

既然您已经在给定的步骤中生成了代码,那么您是否可以明确地说明当天要生成的代码?假设您已经在其他地方测试了代码生成,而您没有在该场景中测试它。这样,您就可以在最后一步将您声明的代码放入表中。

您是否试图将表视为第一列=名称,第二列=值?或者在这一行下面还会有其他值吗?我想这归结为语义,你是对的,它是给定的,所以我可以指定我想要的随机代码。我只是想让代码按照预期在整个管道中为我工作。是的,这一代码生成的功能在其他测试中得到了很好的介绍。但是如果你能像我上面写的那样做,那不是很酷吗?谢谢你的回答。