2009-12-12 29 views
2

OSGI測試框架 - 一些意見。簡單的方法來測試需要OSGI沒有大量的人工製品和依賴關係

我正在編寫一個使用OSGI的系統。然而,即使是最簡單的測試,所有流行的測試框架(Spring-OSGI,PaxExam)都需要大量的人工產物。

收藏/目標

理想我想使用TinyBundle組裝束和它們提供到框架的單個測試。然後框架將開始啓動容器,部署,運行每個測試,更新UI以顯示結果等等。

從表面上看,PAX-EXAM可以滿足這個要求,但它有其他要求,在Eclipse中我無法解決這個問題。我的問題是:

  • 每個包需要一個單獨的項目。
  • 每個項目都會在$ project/meta-inf /中獲得一個manifest.mf文件。

理想情況下,我想將所有的清單和「內部」類包裝在測試的單獨子包中,而不是讓它們分散在各自的項目中。

我發現將所有內容打包到一個項目中,即使執行測試 ,即使所配置的軟件包內容相同,也不起作用。但是,如果我把所有東西都分解成單獨的項目,那麼這些東西就可以工作。

Maven的

我想避免的Maven,因爲這意味着更復雜的系統,它最終會需要構建,部署到這到底自動化即使回購只是會減慢速度,甚至更多。這與我使用Infinitest會自動檢測已更改的類並執行正確的測試相沖突。

Eclipse Project Plugin啓動配置。

該方法需要一個人在執行junit測試之前挑選要部署的包。這當然只適用於每個包含一對一映射的單獨項目。這再次違背了我在一個項目下整合所有測試依賴包的嘗試。

怎麼樣,可以做到嗎?

  • 我該如何做到這一點?
  • 這實際上可行嗎?
  • 什麼是最簡單的選擇?

回答

1

另一個也可以利用Pax Exam的替代方法就是我們在OSGi測試框架(測試OSGi框架實現)中所做的。而不是複製它是如何工作的整體解釋,你可以發現,這裏:

http://opensource.luminis.net/wiki/display/OSGITEST/OSGi+testing+framework

它不使用Maven,並寫入新的測試在這裏解釋:

http://opensource.luminis.net/wiki/display/OSGITEST/Writing+a+framework+test

也許一些解決方案可以激勵你。總而言之,OSGi有很多測試框架(就像非OSGi一樣),但到目前爲止,還有一個測試框架「讓其餘的已經過時」。

+2

鏈接被破壞,但我發現[this](https://github.com/wtreur/osgi-specification-test-framework)。 – reinierpost 2013-09-10 14:38:12

+0

這確實是該代碼的新位置。沃爾特是作者,所以如果你有任何進一步的問題,你應該可以與他聯繫。 – 2013-09-10 14:45:20

+0

我現在只學習OSGi的基礎知識......但我希望以後有很多問題:) – reinierpost 2013-09-10 14:49:09

相關問題