2015-09-20 59 views
2

我想找到答案,爲什麼在黃瓜甚至黃瓜需要specflow是單獨的BDD工具。爲什麼在黃瓜甚至需要支持BDD工具時需要specflow

咱們直接用黃瓜在.NET項目

+1

請修改爲正確的語法。除此之外,如果您可以閱讀[問],然後明確說明「黃瓜需要specflow」的含義,您期望的內容以及與您期望的內容有什麼不同,這將有助於幫助他人理解你的問題。 – AJMansfield

回答

4

Cucumber是一個應用程序,讀取小黃瓜語法純文本規範文件並運行Ruby文件來執行這些規範。

Specflow是.net的黃瓜'端口',也使用了小黃瓜語法文件,但將它們連接到.net代碼。如果你看看cucumber docs它指出要在.net中使用黃瓜,你可以通過SpecFlow來完成。

我不認爲你可以在.NET運行黃瓜,除非你正在考慮使用鐵紅寶石......

1

黃瓜主要是爲Ruby項目編寫的,在Ruby中執行。

其他語言存在端口。 Cucumber-JVM用Java執行,SpecFlow用.NET執行。如果你想在.NET中編寫測試框架,SpecFlow就是你應該使用的。

如果您正在編寫驗收測試(這是Cucumber的真正設計目的),那麼沒有理由說明您的框架必須使用與開發人員編寫的語言相同的語言。您的框架應該在單獨的回購您的應用程序和獨立部署。您可以使用ruby框架測試PHP網站,使用Cucumber-JVM框架的Rails網站..只要您的部署過程可以處理它並且您有能力使用該語言,則無關緊要。

+0

我已經通過Behat在PHP中完成了BDD。我們嚴格定製了我們自己的Gerkin命令。幾百行PHP來生成自定義的When/Then命令。如果我們使用非php或非javascript的Gherkin工具,我們會在構建鏈中引入另一種語言。 –