<pre id="ff7yo"></pre>

      <form id="ff7yo"><legend id="ff7yo"></legend></form>
        <nav id="ff7yo"><listing id="ff7yo"></listing></nav><nav id="ff7yo"></nav>

        <nav id="ff7yo"><listing id="ff7yo"></listing></nav>
        <small id="ff7yo"></small><nav id="ff7yo"><dd id="ff7yo"></dd></nav>
      1. <nav id="ff7yo"></nav>
          <form id="ff7yo"></form><nav id="ff7yo"></nav>
          <nav id="ff7yo"></nav>
          <sub id="ff7yo"></sub>
          更多課程 選擇中心

          軟件測試培訓
          達內IT學院

          400-111-8989

          單元測試常用的30款測試工具及框架(下)

          • 發布:webmaster
          • 來源:51testing
          • 時間:2019-03-15 17:30

          軟件測試日常的工作中為了方便自己,提高工作效率,我們經常去尋找相關的工具和框架, 自己造輪子耗時費力,不如看看開源的測試工作,我們今天為大家介紹的是單元測試常用的30款測試工具及框架(下)。

          16.C++單元測試工具 GoogleTest

          授權協議:BSD

          開發語言:C/C++

          操作系統:跨平臺

          GoogleTest 詳細介紹

          Google的開源C++單元測試框架Google Test,簡稱gtest 是一個非常的不錯單元測試框架。支持跨平臺以及包括 Windows CE 和 Symbian 在內的一些手機操作系統。

          17.C++單元測試框架 CppTest

          授權協議:LGPL

          開發語言:C/C++

          操作系統:跨平臺

          CppTest 詳細介紹

          CppTest 是 C++ 的單元測試框架。CppUnit 簡單得多,但是效果也不錯。下面簡要地對比這兩個強大的工具:

          創建單元測試和測試套件的簡便性。CppUnit 和 CppTest 都創建類方法形式的單元測試,類本身都派生自工具提供的 Test類。但是,CppTest 的語法略微簡單些,測試的注冊在類構造器內進行。對于 CppUnit,需要額外的宏 CPPUNIT_TEST_SUITE 和CPPUNIT_TEST_SUITE_ENDS。

          運行測試。CppTest 直接調用測試套件上的 run 方法,而 CppUnit 使用單獨的 TestRunner 類,通過調用這個類的 run 方法運行測試。

          擴展測試層次結構。對于 CppTest,隨時可以從以前的測試套件派生新類,從而擴展測試套件。新的類定義一些新函數,這些函數成為新的單元測試。只需在新類類型的對象上調用 run 方法。與之相反,CppUnit 需要使用 CPPUNIT_TEST_SUB_SUITE宏和類繼承來實現相同的效果。

          生成格式化的輸出。CppTest 和 CppUnit 都允許定制輸出。但是,CppTest 有預定義的 HTML 輸出格式化器,而 CppUnit 沒有。但是,只有 CppUnit 支持 XML 格式化。它們都支持文本和編譯器式格式。

          創建測試裝備。要想使用測試裝備,CppUnit 要求測試類派生自 CppUnit::TestFixture。您必須提供設置和退出例程的定義。對于 CppTest,只需提供設置和退出例程的定義。這個解決方案顯然更好,因為這讓客戶機代碼更簡單。

          預定義的宏支持。CppTest 和 CppUnit 都提供一組用于斷言、處理浮點等的宏。

          頭文件。 CppTest 只要求包含一個頭文件,而 CppUnit 客戶機代碼必須根據使用的特性包含多個頭文件,比如 HelperMacros.h 和 TextTestRunner.h。

          18. JavaScript/TypeScript 測試框架 MoqJS

          授權協議:未知

          開發語言:JavaScript

          操作系統:跨平臺

          MoqJS 詳細介紹

          MoqJS 是基于 .NET Moq 框架的 JavaScript/TypeScript 測試框架。

          主要特性:

          強類型:TypeScript

          完美的 VS 集成

          使用 setup/setupPrivate/verify/verifyPrivate 來修改和檢測 moles behavior

          非常低的學習曲線

          示例代碼:

          // Create some object instance
          
          var dog = new Dog();
          
          // Create a mole for the object
          
          var mole = new Mole(dog);
          
          // Setup behavior
          
          mole.setup(_dog => _dog.eat('meat')).returns('Yum yum yum');
          
          // Invoke
          
          var result = dog.eath('meat');
          
          // Verify the given method was indeed called with the expected value exactly once
          
          var isVerified = mole.verify(_dog => _dog.eat('meat'), Times.exact(1));
          
          slavik57 / moqjs

          19. Android 自動化測試 Robolectirc

          授權協議:MIT

          開發語言:Java 查看源碼

          操作系統:Android

          Robolectirc 詳細介紹

          Robolectirc 是一款 Android 程序自動化測試工具。

          測試代碼:

          @RunWith(RobolectricTestRunner.class)
          
          public class MyActivityTest {
          
          @Test
          
          public void clickingButton_shouldChangeResultsViewText() throws Exception {
          
          Activity activity = Robolectric.buildActivity(MyActivity.class)
          
          .create().get();
          
          Button pressMeButton = (Button) activity.findViewById(R.id.press_me_button);
          
          TextView results = (TextView) activity.findViewById(R.id.results_text_view);
          
          pressMeButton.performClick();
          
          String resultsText = results.getText().toString();
          
          assertThat(resultsText, equalTo("Testing
          
          Android Rocks!"));
          
          }
          
          }
          
          robolectric / robolectric

          20.Python 模擬測試框架 CaptureMock

          授權協議:LGPL

          開發語言:Python

          操作系統:跨平臺

          CaptureMock 詳細介紹

          CaptureMock 提供 Python 模擬的捕獲-重放功能,建立在命令行和客戶機-服務器通信的基礎上。CaptureMock 所謂的方法就是 捕獲-重放 方法。它在用戶‘記錄’模擬子系統的時候觀察代碼和模擬出來的子系統的交互,并且用它自己的格式記錄在文本文件中。

          當用戶在 ‘重放模式’運行測試時,CaptureMock 會扮演還在醞釀中的子系統,用戶甚至可以不用安裝真正的子系統。用戶每次運行測試的時候都可以選擇是在真實子系統的下還是校驗或者重建捕獲到的模擬子系統,亦或者是之前運行捕獲的模擬子系統。如果在‘重放模式’下,CaptureMock 不能接收到之前相同的調用,那么測試將會失敗,提示用戶是否想在記錄模式下重建模擬子系統。

          21.C語言單元測試框架 CUnit

          授權協議:LGPL

          開發語言:C/C++

          操作系統:Windows

          CUnit 詳細介紹

          繼Junit CppUnit的成功后, c語言環境下也出現了開發源碼的白盒測試用例CUnit。CUnit以靜態庫的形式提供給用戶使用,用戶編寫程序的時候直接鏈接此靜態庫就可以了。它提供了一個簡單的單元測試框架,并且為常用的數據類型提供了豐富的斷言語句支持。

          22. Python單元測試框架 PyUnit

          授權協議:Python

          開發語言:Python

          操作系統:跨平臺

          PyUnit 詳細介紹

          Python單元測試框架(The Python unit testing framework),簡稱為PyUnit, 是Kent Beck和Erich Gamma這兩位聰明的家伙所設計的 JUnit 的Python版本。 而JUnit又是Kent設計的Smalltalk測試框架的Java版本。它們都是各自語言的標準測試框架。

          23.C/C++單元測試框架 CppUTest

          授權協議:BSD

          開發語言:C/C++

          操作系統:跨平臺

          CppUTest 詳細介紹

          CppUTest 是一個功能全面的測試框架。

          CppUTest是為了支持在多種操作系統上開發嵌入式軟件而特別設計的。CppUTest的宏被設計成不需要了解C++也可以寫測試用例。這使得C程序員更容易用這個測試框架。

          CppUTest只使用C++語言中主要的那部分子集,這種選擇很好地適應了那些編譯器不能完全支持全部C++語言特性的嵌入式開發。你會看到用Unity和CppUTest寫出的單元測試幾乎一模一樣。你當然可以選擇任意一個測試框架來進行你的產品開發。

          24.C++單元測試框架 CppUnit

          授權協議:未知

          開發語言:C/C++

          操作系統:跨平臺

          CppUnit 詳細介紹

          CppUnit 是個基于 LGPL 的開源項目,最初版本移植自 JUnit,是一個非常優秀的開源測試框架。CppUnit 和 JUnit 一樣主要思想來源于極限編程(XProgramming)。主要功能就是對單元測試進行管理,并可進行自動化測試。

          測試驅動開發(TDD)是以測試作為開發過程的中心,它堅持,在編寫實際代碼之前,先寫好基于產品代碼的測試代碼。開發過程的目標就是首先使測試能夠通 過,然后再優化設計結構。測試驅動開發式是極限編程的重要組成部分。XUnit,一個基于測試驅動開發的測試框架,它為我們在開發過程中使用測試驅動開發 提供了一個方便的工具,使我們得以快速的進行單元測試。XUnit的成員有很多,如JUnit,PythonUnit等。CppUnit 即是XUnit家族中的一員,它是一個專門面向C++的測試框架。

          25.Ada語言的單元測試 AUnit

          授權協議:未知

          操作系統:跨平臺

          AUnit 詳細介紹

          AUnit 是 Ada 編程語言的單元測試工具,類似于 JUnit。

          26.C單元測試框架 zCUT

          單元測試工具

          授權協議:GPL

          開發語言:C/C++

          操作系統:跨平臺

          軟件作者:zbaitu

          zCUT 詳細介紹

          C單元測試框架。

          特點:

          C語言實現。clang編譯。std=gnu89。

          使用宏簡單地注冊case, suite,豐富的斷言,風格類似google test。

          良好的結果輸出。

          zBaitu / zCUT

          27. EJB測試工具 Ejb3Unit

          授權協議:未知

          開發語言:Java

          操作系統:跨平臺

          Ejb3Unit 詳細介紹

          Ejb3Unit 是一個無需EJB 容器的 EJB 3.0 的單元測試框架,擴展于 JUnit ,為所有的 EJB 項目提供自動化測試的工具

          28. PerlUnit

          授權協議:未知

          開發語言:Perl

          操作系統:未知

          PerlUnit 詳細介紹

          JUnit的Perl版

          29.PythonUnit

          授權協議:未知

          開發語言:Python

          操作系統:未知

          PythonUnit 詳細介紹

          JUnit的Python版

          30.C++ 單元測試框架 cipra

          授權協議:BSD

          開發語言:C/C++

          操作系統:跨平臺

          cipra 詳細介紹

          cipra 是一個簡單的、兼容 TAP (Test Anything Protocol) 的 C++ 單元測試框架。100% 使用標準的 C++11 編寫,只提供一組頭文件,可很方便的在你的 C++11 項目中使用。

          感謝您的閱讀,以上就是為大家分享的軟件測試單元測試中常用的30種開源測試工具及框架下,還有更多請點擊查看單元測試中常用的30種開源測試工具及框架上

          免責聲明:內容和圖片源自網絡,版權歸原作者所有,如有侵犯您的原創版權請告知,我們將盡快刪除相關內容。

          預約申請免費試聽課

          填寫下面表單即可預約申請免費試聽!怕錢不夠?可就業掙錢后再付學費! 怕學不會?助教全程陪讀,隨時解惑!擔心就業?一地學習,可全國推薦就業!

          上一篇:單元測試常用的30款測試工具及框架(上)
          下一篇:連監控機制都不會建立,還想做測試主管?

          軟件測試必備的數據庫知識有哪些?(終)

          日志在快速定位自動化腳本故障中的重要性研究

          測試慣例是什么?怎么打破測試慣例?

          “用鼠標點點點”的測試,未來還有機會嗎?

          • 掃碼領取資料

            回復關鍵字:視頻資料

            免費領取 達內課程視頻學習資料

          • 視頻學習QQ群

            添加QQ群:1143617948

            免費領取達內課程視頻學習資料

          Copyright ? 2021 Tedu.cn All Rights Reserved 京ICP備08000853號-56 京公網安備 11010802029508號 達內時代科技集團有限公司 版權所有

          選擇城市和中心
          黑龍江省

          吉林省

          河北省

          陜西省

          湖南省

          貴州省

          云南省

          廣西省

          海南省

          神马影院-战旗影院-首播影院-新视觉影院-在线观看中文字幕dvd播放 百度 好搜 搜狗
          <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <文本链> <文本链> <文本链> <文本链> <文本链> <文本链>