2017-03-20 85 views
0

我目前是Hadoop應用程序團隊的一員,其中的一部分將使用Spark,其中一部分將使用Java或Python(例如,我們無法使用Sqoop或Hadoop附帶的任何其他攝入工具並將實施我們自己的版本)。我只是一名數據科學家,所以我只是對Spark部分非常熟悉,所以對於缺乏細節或者如果這個問題通常很糟糕我表示歉意 - 我只知道工程團隊需要Java和Python支持。我被要求考慮使用Cucumber(或任何其他BDD框架)來接受測試我們的應用程序前後一旦我們進一步。我找不到任何博客,代碼庫或其他參考文獻,其中在多語言應用程序中使用黃瓜,並且幾乎沒有使用Hadoop的地方。是否有可能使用Cucumber或任何其他現有的BDD框架來測試我們的應用程序?我們已經計劃通過JUnit/PyUnit /等進行單元和集成測試。我可以使用Cucumber測試使用多種語言的應用程序嗎?

回答

0

答案是肯定的,如果你使用一種語言來測試兩個。

Cucumber-JS可以用來測試Javascript和PHP - 或者至少是這些腳本在網頁上的結果。

如果您的意思是在一個功能文件集中使用兩個不同的黃瓜變種,我不會推薦它。

如果需要,我會用Java和Python創建兩個不同的套件,以測試所需語言的腳本。但是,如果您只使用黃瓜框架來測試圖形用戶界面,爲什麼有兩種語言爲它提供動力?

這就是您需要從那些將要使用它的人那裏得到想法,從Python和Java中最熟悉哪種語言,並找到合適的軟件來集成它的地方。對於基於網絡的,Selenium使用的最多,但對於桌面應用程序,我不知道(因爲我只在基於Web的應用程序上使用過黃瓜)。

如果您需要運行Python腳本進行設置,您可以這樣做from Java。你也可以運行Java from Python

基本上,選擇最符合你需要的語言 - 這兩者都有優勢(順便說一句,Cucumber JVM比Python + Lettuce或Jython更好支持)。

0

功能文件將使用小黃瓜寫入。如果您使用Java或Python,則小黃瓜看起來一樣。所以從理論上講,您可以從兩個Java端Python執行相同的規範。但是,這樣做沒有任何意義。這只是一種用兩種不同語言實現相同行爲的方式,因此也是兩種不同的地方。唯一的結果將是重複和悲慘的開發人員。

您可以做的是使用BDD和小黃瓜來驅動實施。但在不同語言中有不同的行爲。這將導致您使用兩套不同的功能。鑑於您所描述的背景,這可能是一個好主意。

0

要使用黃瓜來測試桌面應用程序,您可以使用specflow,它在Visual Studio中使用一個名爲teststack.white的框架。只需谷歌黃瓜specflow,teststack.white等,你應該能夠走上正軌

相關問題