<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                # 使用@Parameters 的示例進行 JUnit 參數化測試 > 原文: [https://www.guru99.com/junit-parameterized-test.html](https://www.guru99.com/junit-parameterized-test.html) ## 什么是 Junit 中的參數化測試? 參數化測試是使用不同的值一次又一次地執行相同的測試。 它可以幫助開發人員節省執行相同測試的時間,該測試僅在輸入內容和預期結果上有所不同。 使用參數化測試,可以設置一種從某些數據源檢索數據的測試方法。 考慮一個簡單的測試來求和不同的數字。 該代碼可能看起來像- ![JUnit Parameterized Test](https://img.kancloud.cn/83/71/83711d7f571e3ae162b44b56ab6a81b6_532x158.png "JUnit Parameterized Test") 上面的方法導致很多冗余。 我們需要一個簡單的方法。 使用參數化測試,您只需添加一種方法即可輸入 10 個數據輸入,并且測試將自動運行 10 次。 ## 創建參數化 JUnit 測試的步驟 以下代碼顯示了參數化測試的示例。 它測試 Arithmetic 類的 sum()方法: **步驟 1)**創建一個類。 在此示例中,我們將使用 sum(int,int)方法輸入兩個數字,該方法將返回給定數字的總和 ![JUnit Parameterized Test](https://img.kancloud.cn/7e/0c/7e0ccc09bd9b8fbc194b674067735440_333x132.png "JUnit Parameterized Test") **步驟 2)**創建參數化測試類 ![JUnit Parameterized Test](https://img.kancloud.cn/4a/96/4a965f50c30bb6bfabf8969b182cdc1e_340x114.png "JUnit Parameterized Test") 代碼說明 * **代碼行 11:**使用@runWith(Parameterized.class)注釋測試類。 * **代碼行 13:**聲明變量“ firstNumber”為私有,類型為 int。 * **代碼行 14:**聲明變量“ secondNumber”為私有,類型為 int。 * **代碼行 15:**聲明變量'expectedResult'為私有,類型為 int。 * **代碼行 16:**聲明變量“ airthematic”為私有,類型為 Airthematic。 **@RunWith** (class_name.class): **@RunWith** 批注用于指定其運行程序類名稱。 如果我們未指定任何類型作為參數,則運行時默認情況下將選擇 **BlockJunit4ClassRunner** 。 此類負責使用新的測試實例運行的測試。 它負責調用 JUnit 生命周期方法,例如 setup(關聯資源)和 teardown(釋放資源)。 要進行參數化,您需要使用@RunWith 進行注釋并傳遞所需的.class 進行測試 **步驟 3)**創建一個存儲測試數據的構造函數。 它存儲 3 個變量 ![JUnit Parameterized Test](https://img.kancloud.cn/96/06/9606a4593749709eda3bc126aca2720f_696x122.png "JUnit Parameterized Test") **步驟 4)**創建一個靜態方法來生成并返回測試數據。 ![JUnit Parameterized Test](https://img.kancloud.cn/38/04/3804503239d2f718cde0e5133081d8fe_750x97.png "JUnit Parameterized Test") **代碼行 32,33:**創建一個二維數組(提供用于添加的輸入參數)。 使用 asList 方法,我們將數據轉換為 List 類型。 因為,方法輸入的返回類型是 collection。 **代碼行 30:**使用 **@Parameters** 批注創建一組輸入數據以運行我們的測試。 由@Parameters 批注標識的靜態方法返回一個 Collection,其中 Collection 中的每個條目都是該測試的一次迭代的輸入數據。 考慮元素 {1,2,3} 這里 firstNumber = 1 secondNumber = 2 ExpectedResult = 3 這里,每個數組元素將被傳遞給構造函數,一次將其傳遞一次,因為類被多次實例化。 **步驟 5)**完整的代碼 ![JUnit Parameterized Test](https://img.kancloud.cn/7e/79/7e7905f8cf94a8427aa9f63bf4e2f4df_715x629.png "JUnit Parameterized Test") **代碼說明:** * **代碼行 25:**使用@Before 批注設置資源(此處為 Airthematic.class)。 @Before 注釋在此處用于在每個測試用例之前運行。 它包含測試的前提條件。 * **代碼行 36:**使用@Test 批注創建測試。 * **代碼行 39:**創建一個 assert 語句來檢查我們的總和是否等于我們的期望。 **步驟 6)**創建一個測試運行器類以運行參數化測試: ![JUnit Parameterized Test](https://img.kancloud.cn/1e/4d/1e4de7640e61b0c0253bb4471dbcaf92_507x229.png "JUnit Parameterized Test") **代碼說明:** * **代碼行 8:**聲明將運行我們的 JUnit 測試的類測試的主要方法。 * **代碼行 9:**使用 JunitCore.runclasses 執行測試用例,它將把測試類名作為參數(在我們的示例中,我們使用 Airthematic.class)。 * **代碼行 11:**使用 for 循環處理結果并打印出失敗的結果。 * **代碼行 13:**打印成功結果。 **輸出:** 這是顯示成功測試且沒有失敗跟蹤的輸出,如下所示: ![JUnit Parameterized Test](https://img.kancloud.cn/11/a8/11a899737a2b7da2d838eccbd015bacd_339x428.png "JUnit Parameterized Test") 在控制臺上查看結果,該結果顯示兩個數字相加:- ![JUnit Parameterized Test](https://img.kancloud.cn/e5/5e/e55eda9c6d77ca4bc62478fcd1d696fc_657x179.png "JUnit Parameterized Test") **摘要**: 參數化測試使開發人員可以使用不同的值一次又一次地執行相同的測試。 參數化期間要使用的重要注釋 * **@RunWith** * **@參數**
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看