gpt4 book ai didi

ruby - 非正统 cucumber ...在步骤定义中创建 Cucumber::Ast::Table

转载 作者:太空宇宙 更新时间:2023-11-03 18:19:39 25 4
gpt4 key购买 nike

上下文:

我经常使用 Cucumber 作为解决方案。我正在尝试在翻译和共享理解方面有独特需求的团队中使用 Cucumber。问题的要点是,有些人无法使用有关正在测试的内容的详细、字面的信息(我称之为具体),其他人需要分享对具体的理解,等等。

问题陈述:

我想在步骤定义中创建一个 Cucumber::Ast::Table。我认为社区可能会受益于 @current_table = Cucumber::Ast::Table.new 期望在其初始化程序中有一个参数。

我尝试的情况没有成功:

Given(/^an example step that has very well written english but can be misinterpreted and may not be concrete enough for some team members$/) do
@current_table = Cucumber::Ast::Table.new('''
| concrete1 | concrete2 |
| value1 | value2 |
''')
end

因为它失败并出现此错误:

“\n|this|that|\n|1|2|\n”的未定义方法“transpose”:String

最佳答案

看起来您可以使用 parse方法:

Given(/^an example step that has very well written english but can be misinterpreted and may not be concrete enough for some team members$/) do
@current_table = Cucumber::Ast::Table.parse('''
| concrete1 | concrete2 |
| value1 | value2 |
''', nil, nil)

p @current_table.class
#=> Cucumber::Ast::Table

p @current_table.raw
#=> [["concrete1", "concrete2"], ["value1", "value2"]]
end

我不确定 parse 方法的最后两个参数是做什么用的,但对于简单的情况,使用 nil 似乎效果很好。

关于ruby - 非正统 cucumber ...在步骤定义中创建 Cucumber::Ast::Table,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20690236/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com