2013-01-17 70 views
3

在我的項目中,我們使用specflow,nUnit和Watin編寫了BDD測試。我使用resharper從visual studio運行這些測試。現在我想將這些功能和場景公開給非技術人員,我希望他們運行這些測試。是否有可能以編程方式運行specflow測試?

就像我想列出瀏覽器中的所有測試,用戶應該可以通過點擊它們來運行這些測試。這可以實現嗎?有沒有插件?

目前我們使用Team Foundation Server作爲構建服務器。

+1

你可以看看fitnesse.org:「一個簡單的工具,允許非技術用戶指定和運行軟件系統的驗收測試。」但它與SpecFlow無關。 – ngm

回答

3

您將遇到的最大問題是純文本功能文件自動被SpecFlow Visual Studio插件轉換爲xxx.feature.cs文件。所以,你的過程是這樣的,

  • 修改xxxx.feature文件
  • 找到某種方式來獲得SpecFlow插件通過使用NUnit/xUnit的
  • 運行測試,以產生xxx.feature.cs
  • 編譯(爲配置)
  • 收集和目前的測試成功通知

對我來說這是一個過程,有一個名字,我把它叫做發展。

然而,BDD是一個不同的過程,它是關於與企業進行協作和溝通以制定規範的。一開始沒有工具,但這個過程仍然有效。

我的許多同事一直在各種現實世界的項目中使用BDD技術,並發現這些技術非常成功。 JBehave的故事跑步者 - 驗證接受標準的部分 - 正在積極開發中。

Dan North - Introducing BDD 2006

不要單獨得到趕上上的工具,否則你會錯過過程中的重要組成部分。與您的學士學位合作,共同定義新規範,您將獲得如此多的收益。

P.S.另一種考慮這一點的方式是規範和代碼應該始終在一步。僅僅通過定義一個新的例子,我們不會神奇地將代碼轉移到符合這個例子。相反,最常見的做法是開發代碼以符合新示例,然後將新規範和代碼作爲單個更改集簽入。

4

TeamCityContinuous integration由JetBrains提供的服務器提供了這種基於web的功能。它甚至提供統計和測試輸出結果。

它支持nUnit開箱即用。 SpecFlowWatin支持一些配置。

enter image description here

+0

感謝Aphelion的迴應。現在我們使用TFS構建作爲構建服務器。整合TeamCity可能還有一些工作要做。除此之外,還有什麼其他方式可以將我的所有測試暴露在Web應用程序甚至Windows應用程序中? – Suhumar

+0

@Suhumar不幸的是我沒有使用Team Foundation Server的經驗。 – Aphelion

3

可以使用醬菜項目由小黃瓜規範源控制產生的利益相關者友好的文件(包括HTML)。

有運行從HTML測試沒有工具。它是開源的,所以也許你可以用這種方式擴展它......但是,我個人認爲讓非技術用戶實際執行規範是沒有價值的。我會讓您的持續集成服務器運行SpecFlow測試並定期生成step definition report。非技術用戶可以瀏覽這些報告以查看當前的項目狀態。

+1

我完全同意。這就是爲什麼我認爲CI服務器是最好的解決方案。它允許查看結果並生成報告。 – Aphelion

2

爲了讓訪問您的功能文件到非技術人員可以使用http://www.speclog.net/

規格日誌將允許非技術編輯和創建新的功能,並會自動將它們與TFS同步。

不幸的是,它不是免費的,你不能運行該工具的規格。

相關問題