日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

OSGi Testsuite:引入类名过滤器

發布時間:2023/12/3 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 OSGi Testsuite:引入类名过滤器 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

OSGi Testsuite是一個JUnit測試運行程序 ,它動態地收集要執行的測試類。 它已經由我的同伴Rüdiger大約一年前出版,并且已經在某些項目中證明是有用的。 但是對于gonsole,我們必須使用一個難看的補丁,因為1.0版僅支持.*Test后綴匹配測試類名稱。

我通過引入注解@ClassnameFilters (使用正則表達式匹配任意名稱模式)解決了1.1版的問題。 這篇文章簡短地解釋了它是如何工作的。

OSGi測試套件

OSGi Testsuite提供了一個JUnit測試運行程序BundleTestSuite ,可用于運行給定數量的OSGi捆綁包內的所有測試。 要使用它,請使用@RunWith(BundleTestSuite.class)注釋一個類,并使用@TestBundles({"bundle.1", ...})指定捆綁。 運行時,JUnit將處理列出的捆綁軟件中的所有類,其名稱以'Test'結尾。

@RunWith( BundleTestSuite.class ) @TestBundles( { "org.example.bundle1", "org.example.bundle2" } ) public class MasterTestSuite {}

不幸的是,Test postfix的固定結果顯得過于僵化。 在gonsole中,我們對單元測試和集成測試使用不同的后綴。 而且,我們不希望在OSGi Testsuite運行中執行單元測試。 但是這種區別在1.0版中是不可能的。

類名過濾器

受ClasspathSuite (在純JUnit測試上與OSGi Testsuite的工作原理類似)的啟發,我引入了一個注解@ClassnameFilters 。 這允許基于正則表達式定義過濾器以匹配任意測試名稱模式:

@RunWith( BundleTestSuite.class ) @TestBundles( { "org.example.bundle1", "org.example.bundle2" } ) @ClassnameFilters( { ".*ITest" } ) public class IntegrationTestSuite {}

處理該示例將包括列出的捆綁軟件中所有類的測試,這些測試的名稱以'ITest'后綴結尾。 請注意,帶有簡單'Test'后綴的類將不被處理。

此外,可以使用前導'!'指定排除模式 :

@RunWith( BundleTestSuite.class ) @TestBundles( { "org.example.bundle1", "org.example.bundle2" } ) @ClassnameFilters( { ".*ITest", "!.*FooITest" } ) public class IntegrationTestSuite {}

給定的示例現在將執行列出的捆綁軟件中所有類的測試,這些類的名稱以'ITest'后綴結尾,但名稱以'FooITest'結尾的類除外。 很簡單,不是嗎?

結論

OSGi Testsuite的過濾器機制得到了增強,可以動態執行與任意名稱模式匹配的測試類。 使用ClassnameFilters批注和正則表達式可以輕松完成過濾器規范。

該代碼可在Eclipse Public License下獲得,并托管在GitHub上:

https://github.com/rherrmann/osgi-testsuite

可以從此p2存儲庫獲得最新的穩定版本:

http://rherrmann.github.io/osgi-testsuite/repository

翻譯自: https://www.javacodegeeks.com/2014/11/osgi-testsuite-introducing-classname-filters.html

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的OSGi Testsuite:引入类名过滤器的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。