自动化的OSGi测试运行器
在我的團(tuán)隊(duì)成員中,我以忘記維護(hù)(JUnit)測試套件而聞名。 我只是無法為此付出額外的手動為套件添加測試的步驟。 幸運(yùn)的是,有連續(xù)的集成服務(wù)器通過命名模式收集測試。 如果我介紹的一項(xiàng)孤立測試失敗了,那么它會脫穎而出。
為了彌補(bǔ)這一點(diǎn),我創(chuàng)建了一個(gè)(幾乎)免維護(hù)的測試運(yùn)行器。 雖然普通的JUnit測試已經(jīng)有了這種東西 ,但我找不到OSGi測試的類似東西。
當(dāng)具有多個(gè)捆綁軟件時(shí),您通常會擁有一個(gè)主測試套件,該套件會匯總所有每個(gè)捆綁的測試套件。 要使用BundleTestSuite ,只需替換您的主測試套件,如下所示:
@RunWith( BundleTestSuite.class ) @TestBundles( { "org.example.bundle1", "org.example.bundle2" } ) public class MasterTestSuite { }RunWith注釋告訴JUnit使用BundleTestSuite測試運(yùn)行程序。 然后,該測試運(yùn)行程序評估TestBundles批注,并從其中列出了符號名稱的所有捆綁軟件執(zhí)行測試。 如果創(chuàng)建新捆綁包,則將其名稱添加到TestBundles列表中,并將拾取該捆綁包(或其片段)包含的所有測試。 當(dāng)前通過名稱來標(biāo)識測試類別。 名稱以“ Test”結(jié)尾的所有類均被視為測試類。
反思性收集測試的副作用是,您可以刪除所有變通辦法(Eclipse-ExtensibleAPI等),以使片段中的測試對外部可見。
當(dāng)在Eclipse中作為PDE JUnit Tests運(yùn)行測試時(shí) ,捆綁軟件的布局不同于常規(guī)打包的捆綁軟件。 BundleTestSuite考慮了這一點(diǎn),并在收集測試時(shí)解決了Equinox中的錯(cuò)誤 。 不幸的是,此問題也影響到Tycho 。 當(dāng)前,BundleTestSuite不能與Tycho一起運(yùn)行,因此您現(xiàn)在必須繼續(xù)使用surefire include / exclude指令。
該代碼可在Eclipse Public License下獲得,并托管在GitHub上 。 可以從此p2存儲庫獲得最新的穩(wěn)定版本:http://rherrmann.github.io/osgi-testsuite/repository
事實(shí)證明,這個(gè)小工具在某些項(xiàng)目中已經(jīng)有用了一段時(shí)間,因此我認(rèn)為它也可能對您有所幫助。 如果您有任何反饋意見,請發(fā)表評論或提出問題 。
翻譯自: https://www.javacodegeeks.com/2013/07/an-automated-osgi-test-runner.html
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
以上是生活随笔為你收集整理的自动化的OSGi测试运行器的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 共享内存linux(共享内存 linux
- 下一篇: Java对象复活