2011-10-27 47 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