2011-10-27 46 views
0

当我参加这个项目时,在“特性/增强”中进行了黄瓜测试,它使用javascript和几个不需要js的“features/plain”运行。随着per-scenario @javascript的后期开发,这是没有意义的。并且随着我们增长和增长的功能文件的数量,如果这样保持整洁的话,它会非常棒。在Rails应用程序中,如何组织Cucumber .feature文件?

所以,在最佳实践土地:

1)应该多长时间.feature文件是什么?我尝试用1或2个“情景”来保持每个范围的狭窄和特定。

2)应该保存在什么文件夹/文件结构中? 2a)如何可能一组相似的功能?

回答

1

我会将JavaScript和非JavaScript版本的场景放在一起,因为它们应该非常相似。

功能文件中超过8种情况可能太多。

一种有用的方法是使用一个文件夹来表示高级功能(有时称为史诗或主题),并在这些文件夹中为不同的方面行为分开功能文件。

例如,你可能有一个特点“员工目录”,这将有独立的功能文件包含情景的照片,办公地点,职务等

根据您的应用程序的规模和复杂性,您可以将这些文件夹分组到其他文件夹。

(请注意,以上都不是特定于Rails应用程序的)。

+0

谢谢,是的,分离js/non-js源于一些早期实现,我很乐意抛弃它。更多文件夹! – whatbird

2

1)一旦你做了几个月,你很快就会发现最适合你的东西。我的建议是你应该让他们小小的。我们经常将我们早期的功能分解成更小的块,但从未结束它们的组合。这对于利用背景等方便...

2)我们遇到了一个很大的问题,并花了很多年的时间去做另一种方式。最后,我们用我们公司提供的服务对其进行分组。例如支付,客户注册,库存管理

不方便的是,功能并不总是符合世界的分层树视图,所以自由使用标签并且您的主要功能组合并不重要。

你有没有试过院子?有一个例子here我们刚刚将它构建到我们的CI中,它可以让您根据标签将各种场景拉到一起,您可以做工会,交叉路口等......非常值得:)

+0

太好了,谢谢。我总是想要坚持一些基于“控制器”的组织。我同意,这与“功能”打破。 – whatbird