2011-11-08 66 views
20

我們正在Gherkin中建立一個規範,並且我們希望向業務涉衆展示這些特徵文件。我們怎樣才能以某種'漂亮'的格式導出我們所有的功能文件?很好的小黃瓜特徵文件的輸出

例如:

  • 生成一個文件包含所有功能
  • 或集成功能集成到其他文檔
  • 或發佈在門戶網站(很好地格式化)
+0

你能否請澄清你最終選擇哪一個,以及你如何在公司內主辦? – vikramvi

+0

在作出決定之前,我離開了項目和公司。 – dgmstuart

+0

你在新項目和公司中試過這個嗎?您的投入將對我和社區有很大的幫助:) – vikramvi

回答

11

的功能文件到目前爲止,我見過的最好的是Pickles; http://github.com/picklesdoc/pickles

它在工作中,但看起來不錯。請在GitHub上提供您的反饋意見

+0

我現在已經離開了這個項目,但是這個項目看起來最有前途 - 我們實際上已經開始使用它了,但我不知道團隊有多遠。 – dgmstuart

+2

@dgmstuart它活着,踢!他們只是添加了JSON和DITA支持,並支持從命令行,powershell(例如VS2010),MsBuild和NAant運行它。檢查出來:http://nuget.org/packages/Pickles –

+1

似乎該項目已轉移到https://github.com/picklesdoc/pickles –

2

您爲什麼想要這樣做?

我認爲bdd的美妙之處在於它提供了業務涉衆,測試人員和開發人員之間無處不在的語言。它可以用在測試周期的任何部分來描述你想要的功能和他們遵守的場景。將你的小黃瓜風格的功能文件作爲一個簡單的文本文件,它可以由商業利益相關者直接編輯,並直接轉換回源代碼存儲庫。在編寫一行代碼之前,您可以從業務中真正採用新的方案並確認哪些功能需要工作。

通過爲這些文件提供不同的格式,您正在干擾數據可以輕鬆跨越這些網橋。是的,您可以對其進行美化並將所有功能組合在一起,形成一個文檔文檔等,但這樣做會使您無法直接從業務中直接獲取一組場景,並且顯示代碼庫對他們「起作用」。

所以,我建議呈現給用戶的企業利益相關者的最佳格式是完全一樣的,因爲他們已經在格式。

但是,你有沒有考慮更改你的測試亞軍。即使這些功能仍以純文本形式顯示,跑步者(如concordionConcordion.net)會爲您提供非常漂亮的測試運行顯示。

+5

嗨,是的,我同意,我寧可不要惹格式,但要解決的主要問題是向用戶展示這些規範 - 他們根本不是很懂技術的人,所以我幾乎不能讓他們將更新引入本地存儲庫!很多真正基本的挑戰:從源代碼控制共享,以視覺可讀的方式呈現規範(例如語法突出顯示),以及僅爲高級別利益相關者呈現特性描述列表從這個角度出發的任何想法? – dgmstuart

+0

有y你考慮實現一個接口?有人(主要開發人員/團隊負責人/技術精明的項目經理)與用戶保持聯絡。他們通過電子郵件提交到接口,然後處理實際的提交。是的,它並不理想,但它讓所有事情都變得動人,而且誰知道,一旦他們習慣了這個想法,他們也會直接承諾。 – AlSki

+6

我繼承了450個故事,總計超過46,000字的系統 - 並不斷增長。試圖理解原始故事文本文件的功能就像試圖通過讀取數千行代碼來理解系統架構。如果故事要作爲文檔,需要有一種機制來輕鬆放大或縮小到您想要查看的級別。 –

3

我們的團隊目前使用relish,這是一個代碼項目,可以很好地將您的黃瓜格式化到網站上。

但它有一些缺點 - 它只是「在beta版中免費」,但這仍然可以給你一些想法。

津津樂道的一個很好的功能是你的開發團隊可以選擇的黃瓜時,他們都準備好了,利益相關者不需要管理/接收新的電子郵件/文件等等 - 他們可以刷新項目網頁。

+1

嗨,謝謝,是的,我現在已經看到了Relish,但不幸的是,這項業務讓所有人都看不到 - 這是一個巨大的缺點。 我們看了一下Pickle,它不是很成熟,但看起來很有趣。我已經離開了這個問題相關的公司...... – dgmstuart

+0

AFAIK「all to see」並不準確。您需要將功能文件上傳到津津樂道的網站 - 所以有第三方參與,但您的津津有味頁面只能在您自己的登錄頁面中看到。 – perfectionist

+0

啊,自從我上次查看它們似乎已添加了私人項目。 – dgmstuart

1

另一個不需要任何技術技能的選項。與此處的另一個答案類似,但專門用於吸引業務而不是技術利益相關者。這是一款Chrome擴展程序,可自動格式化在Chrome中打開的任何* .feature文件。看到的例子和安裝在這裏:Pretty Gherkin feature file viewer