2013-07-24 51 views
1

我認爲這是一個長鏡頭,但...使用相同的集成測試測試多個Android應用程序?

我們有這樣的項目結構:

common-library 
    - denmark 
      - application 
    - france 
      - application 
    - application-xxxxxx 
      - application 
      - integration-tests 

每個應用程序都有不同的配置,轉換,不同的包名等,但所有這些幾乎是一樣的。它們具有相同的功能,相同的用戶界面等。

我們的應用程序中只有一個應用程序現在通過與Robotium的集成測試進行測試。有沒有辦法爲其他應用程序「共享」相同的集成測試?

對每個應用程序進行「通用測試」和定製/特定測試是完美的。這是否可能?

我們正在使用maven和Jenkins來滿足我們的需求。

歡迎任何其他方法或建議。

+0

正在遷移到Gradle的選項?使用Gradle構建系統,您可以將不同版本定義爲風格,並且集成測試將存在於它們旁邊(當您調用正確的目標時,清單會自動更新)。 – Delyan

回答

0

好,假設你需要維護一組唯一的集成測試,我會去的方向爲:

  • 單獨的Maven模塊整合控股僅測試
  • ,並在其中我會多介紹行家分佈圖,其中每一個將已指定的模塊中的一個行家依賴待測試僅
  • 構建可以在型材之間以後切換到激活特定構建僅

由於在集成測試選項的一些注意事項說(http://docs.codehaus.org/display/MAVENUSER/Maven+and+Integration+Testing),我相信它會影響這種方法還有:

做這種方式的缺點是,它往往集成測試與代碼分開他們試圖測試。因此,您可能會發現沒有人「擁有」集成測試;通常你會有一個人的工作是分析集成測試和發現錯誤。 QA很難,但當不清楚誰擁有測試失敗時更難。

另一個問題可能是如果您自動運行包含集成測試(通過Jenkins)的代碼更改的構建。模塊依賴不會自動啓動您的集成測試。相反,您可能需要爲每個配置文件定義一個Jenkins作業,並手動定義正確的作業順序。 例如:如果詹金斯建立了丹麥應用程序=>構建集成,配置文件丹麥,...

+0

這實際上可能工作。但由於需要'AndroidManifest.xml'文件,我仍然可能會遇到一些問題。它們的配置與伸手可及的應用不同。 –

+0

好吧,不知道特定的文件,但如果這些可能與應用程序捆綁在一起,我會這樣做,否則,我會確保我有正確的一個包括取決於集成測試模塊中的maven配置文件。 –

相關問題