有没有办法指定可以包含在功能中的通用黄瓜测试?

时间:2012-11-11 14:47:27

标签: cucumber bdd

有没有办法在多个功能中重复使用黄瓜方案,每个功能都具有相同的UI特征?

例如,如果我正在创建一个iPhone应用程序,那么无论实际显示什么,我都会为每个表格视图屏幕运行某些测试。这些将添加一个新行,删除一行,重新排序等。

将这些复制并粘贴到每个功能中会破坏DRY。有没有办法在黄瓜中指定通用或模板测试,我可以将其包含在需要它们的每个功能中?

1 个答案:

答案 0 :(得分:1)

不要将BDD视为测试。可以将其视为提供一组示例,说明您的应用程序为何具有价值以及如何使用它。

如果应用为每个表使用相同的代码,您只需要一个示例。我希望它的措辞如下:

Given Quentin has three films listed
When he adds "Kill Bill" to the film list
Then he should be reminded that he already owns it.

Given Quentin has mistakenly added "Twilight" to his favourite films
When he deletes it from the film list
Then it should no longer be in the table.

您可以制作场景越有趣和人性化,您就越能够弄清楚为什么您的应用程序很有价值。这是BDD的真正核心 - 不是测试,而是知道你为什么要编写代码。

与真正想要该应用程序的人交谈会帮助您了解它应该做什么 - 如果您自己编写,请购买橡皮鸭!