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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

Eclipse扩展的轻量级集成测试

發布時間:2023/12/3 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Eclipse扩展的轻量级集成测试 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

最近,我為Eclipse擴展點評估引入了一個小助手。 輔助程序努力減少通用編程步驟的樣板代碼,同時增加開發指導和可讀性。

這篇文章是希望的后續文章,展示了如何將實用程序與AssertJ定制斷言結合使用,以編寫針對Eclipse擴展的輕量級集成測試。

Eclipse擴展

在Eclipse中,松耦合是通過擴展點和擴展機制部分實現的。 因此,擴展充當對特定擴展點的貢獻。 但是,擴展名和擴展點的聲明性有時會導致出現問題,可能很難跟蹤。

如果偶然刪除了擴展聲明,使用參數擴展了可執行擴展的默認構造函數,未將plugin.xml添加到build.properties可能是這種情況。

取決于PDE錯誤/警告設置,應該通過標記將許多此類問題告知他人,但是由于某種原因,它會一次又一次地發生,導致無法識別貢獻,并且由于錯誤跟蹤而浪費了寶貴的時間。

因此,進行輕量級集成測試以驗證是否確實可以使用某個貢獻可能會有所幫助。

有關如何使用擴展點機制擴展Eclipse的一般信息,您可以參考在線文檔的《 插件開發環境指南 》。

與JUnit插件測試的集成測試

給定最后一個帖子的擴展點定義...

…擴展貢獻可能看起來像這樣:

<extensionpoint="com.codeaffine.post.contribution"><contributionid="myContribution"class="com.codeaffine.post.MyContribution"></contribution></extension>

假設我們具有“使用片段測試插件”中所述的測試片段 ,我們可以引入PDETest來驗證上面具有給定id的擴展是否存在并且可以由默認構造函數實例化。 此測試利用了上一篇文章介紹的RegistryAdapter和稱為ExtensionAssert的特定自定義斷言:

public class MyContributionPDETest {@Testpublic void testExtension() {Extension actual = new RegistryAdapter().readExtension( "com.codeaffine.post.contribution" ).thatMatches( attribute( "id", "myContribution" ) ).process();assertThat( actual ).hasAttributeValue( "class", MyContribution.class.getName() ).isInstantiable( Runnable.class );} }

如前一篇文章所述, RegistryAdapter#readExtension(String)精確讀取給定“ id”屬性的一個擴展名。 如果它使用此屬性檢測到多個貢獻,則將引發異常。

ExtensionAssert#assertThat(Extension) (通過靜態導入使用)提供了一個AssertJ自定義斷言,該斷言提供了一些對擴展貢獻的常見檢查。 該示例驗證了'class'屬性的值與該貢獻的實現類型的完全限定名稱匹配,該可執行擴展實際上可以使用默認構造函數實例化,并且該實例可分配給Runnable 。

在哪里得到的?

對于那些想要簽出的人,有一個P2存儲庫,其中包含com.codeaffine.eclipse.core.runtime和com.codeaffine.eclipse.core.runtime.test.util功能, 其中提供RegistryAdapter和ExtensionAssert 。 該存儲庫位于:

  • http://fappel.github.io/xiliary/

源代碼和問題跟蹤器托管在:

  • https://github.com/fappel/xiliary

盡管目前完全沒有文檔,但是應該很容易從本文和上一篇文章的說明開始。 但是請記住,這些功能還處于早期狀態,可能會發生一些API更改。 特別是,嵌套擴展的斷言目前似乎太弱了。

如果您有改進的想法或發現了一些錯誤,則問題跟蹤器可能是處理此問題的最佳位置,其他任何地方都可以使用下面的評論部分。

翻譯自: https://www.javacodegeeks.com/2014/11/lightweight-integration-tests-for-eclipse-extensions.html

總結

以上是生活随笔為你收集整理的Eclipse扩展的轻量级集成测试的全部內容,希望文章能夠幫你解決所遇到的問題。

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