如何在Behave test .feature文件的Examples表中使用管道字符?

时间:2015-12-18 14:36:56

标签: python-behave

我有一个Behave Scenario大纲,我需要使用管道字符 - |作为Examples表中的单元格值。但我不知道如何将此字符转义为不被视为列分隔符。当我尝试使用Malformed table序列时,我收到\|错误。

1 个答案:

答案 0 :(得分:4)

据我所知,从版本1.2.5(发布时的当前版本)开始,无法转义单元分隔符。相关代码为in the action_table method。这就是它将一条线分成单元格的方式:

cells = [cell.strip() for cell in line.split('|')[1:-1]]

我在此行之前和之后搜索过,但没有看到将\|或类似内容转换为.split('|')不会影响的内容的代码。

从1.2.5开始,我看到的唯一解决方案是手动编码单元格的内容,以便在单元格数据中使用除|之外的其他字符,然后将其转换为{{1在你的Python代码中。例如,使用|,您可以在功能文件中使用:

!

然后在您的步骤实现中将| foo!bar | 转换为!。这很糟糕,但我没有看到另一种方法来获得你想要的东西。