<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>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                # JUnit 教程 > 原文: [https://howtodoinjava.com/junit-4/](https://howtodoinjava.com/junit-4/) [JUnit](http://junit.org/ "junit") 是 Java 編程語言的單元測試框架。 JUnit 在測試驅動開發的開發中很重要,并且是一系列單元測試框架之一。 它的主要用途是為您的應用代碼單元編寫可重復的測試。 ## 安裝 要將 JUnit 包含到您的項目中,您需要將其依賴項包含在類路徑中。 * #### JUnit Maven 依賴項 ```java <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> </dependency> ``` * #### JUnit Gradle 依賴項 ```java dependencies { testCompile 'junit:junit:4.12' } ``` * #### JUnit Jar 文件 單擊鏈接以下載 [JUnit4.12 jar 文件](http://central.maven.org/maven2/junit/junit/4.12/junit-4.12.jar)。 ## JUnit 注解 JUnit 提供以下注解來編寫測試。 | 注解 | 描述 | | --- | --- | | `@Before` | 帶注解的方法將在測試類中的每個測試方法之前運行。 | | `@After` | 帶注解的方法將在測試類中的每個測試方法之后運行。 | | `@BeforeClass` | 帶注解的方法將在測試類中的所有測試方法之前運行。 此方法必須是靜態的。 | | `@AfterClass` | 帶注解的方法將在測試類中的所有測試方法之后運行。 此方法必須是靜態的。 | | `@Test` | 用于將方法標記為 junit 測試 | | `@Ignore` | 它用于禁用或忽略測試套件中的測試類或方法。 | | `@FixMethodOrder` | 此類允許用戶選擇測試類中方法的執行順序。 | | `@Rule` | 注解引用規則的字段或返回規則的方法。 | | `@ClassRule` | 注解引用規則的靜態字段或返回它們的方法。 | ## 用 JUnit 編寫測試 在 JUnit 中,測試方法帶有`@Test`注解。 為了運行該方法,JUnit 首先構造一個新的類實例,然后調用帶注解的方法。 測試拋出的任何異常將由 JUnit 報告為失敗。 如果未引發任何異常,則假定測試成功。 ```java import java.util.ArrayList; import org.junit.After; import org.junit.AfterClass; import org.junit.Before; import org.junit.BeforeClass; import org.junit.Test; public class Example { @BeforeClass public static void setup() { } @Before public void setupThis() { } @Test public void method() { org.junit.Assert.assertTrue(new ArrayList().isEmpty()); } @After public void tearThis() { } @AfterClass public static void tear() { } } ``` ## 測試套件 使用 **JUnit 測試套件**,您可以運行分散到多個測試類中的測試。 在 JUnit 中,`@RunWith`和`@Suite`注解都用于運行套件測試。 ```java import org.junit.runner.RunWith; import org.junit.runners.Suite; @RunWith(Suite.class) @Suite.SuiteClasses({ TestJunit1.class, TestJunit2.class }) public class JunitTestSuite { } ``` ## 斷言 斷言有助于通過測試用例的實際輸出來驗證期望的輸出。 所有的斷言都在[`org.junit.Assert`](http://junit.org/junit4/javadoc/4.12/org/junit/Assert.html)類中。 所有的斷言方法都是`static`,它使代碼可讀性更好。 ```java import static org.junit.Assert.*; @Test public void method() { assertTrue(new ArrayList().isEmpty()); } ``` ## 假設 假設表明測試有意義的條件。 失敗的假設并不意味著代碼已損壞,但是測試沒有提供有用的信息。 假設基本上是指“如果這些條件不適用,請勿運行此測試”。 默認的 JUnit 運行器將跳過帶有失敗假設的測試。 ```java import org.junit.Test; import static org.junit.Assume.*; public class Example { public class AppTest { @Test void testOnDev() { System.setProperty("ENV", "DEV"); assumeTrue("DEV".equals(System.getProperty("ENV"))); } @Test void testOnProd() { System.setProperty("ENV", "PROD"); assumeFalse("DEV".equals(System.getProperty("ENV"))); } } } ``` ## 總結 毫無疑問,JUnit 是 Java 技術中使用最多且功能最強大的單元測試框架。 它具有易于學習的曲線,并且易于遵循編碼實踐。 大多數 IDE 都內置了對 IDE 自身內部 junit 測試執行的支持,這使其對開發人員更加友好。 參考: [**JUnit 文檔**](http://junit.sourceforge.net/ "junit documentation")
                  <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>

                              哎呀哎呀视频在线观看