2012-09-10 242 views
2

如何在OSGI包中打包JUnit測試,以便使用Apache Felix運行它們?有沒有一個標準的實現或一些解決方法爲JUnit測試創建單獨的包並在激活方法中運行它們?如何打包JUnit測試

編輯:我忘了說這個項目是用Maven創建的。

更新:感謝您的回答。我已經使用junit4osgi框架,它非常有用。

回答

1

如果是運行單元測試,你可能想看看Pax Exam

+0

你可以給我任何Maven項目的簡單例子嗎? –

+0

@ user1474038 sure [http://team.ops4j.org/wiki/display/paxexam/Pax+Exam+Maven+Dependencies](http://team.ops4j.org/wiki/display/paxexam/Pax+Exam+ Maven + Dependencies) –

1

你可能想看看如何BndTools這樣做。它允許您創建可以在OSGi容器中執行的集成OSGi測試。

+0

這個工具是否適用於Maven項目? –

+0

它可以做,閱讀更多在這裏:http://stackoverflow.com/questions/10567325/working-with-maven-osgi-and-bndtools和http://njbartlett.name/2011/03/23/towards-maven -support-in-bndtools.html –

1

Apache Sling testing tools'org.apache.sling.junit.core包允許您在OSGi實例中運行JUnit測試。它是Sling項目的一部分,因爲它是在那裏創建的,但應該在沒有任何Sling依賴關係的任何OSGi環境中運行。

+0

你能給我一個簡單的例子嗎?文檔太多,我無法跟蹤它。 –

+0

您可以在http://svn.apache.org/repos/asf/sling/trunk/testing/samples下找到兩個示例 - 樣本測試下的樣本測試包和包含使用此技術的集成測試的完整樣本應用程序集成測試。 –