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

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                10. 依賴測試 有時,我們可能需要以特定順序調用測試用例中的方法,或者可能希望在方法之間共享一些數據和狀態。 TestNG支持這種依賴關系,因為它支持在測試方法之間顯式依賴的聲明。 TestNG允許指定依賴關系: 在@Test注釋中使用屬性dependsOnMethods 在@Test注釋中使用屬性dependsOnGroups 除此之外依賴還分為hard依賴和soft依賴: hard依賴:默認為此依賴方式,即其所有依賴的methods或者groups必須全部pass,否則被標識依賴的類或者方法將會被略過,在報告中標識為skip,如后面的范例所示,此為默認的依賴方式; soft依賴:此方式下,其依賴的方法或者組有不是全部pass也不會影響被標識依賴的類或者方法的運行,注意如果使用此方式,則依賴者和被依賴者之間必須不存在成功失敗的因果關系,否則會導致用例失敗。此方法在注解中需要加入alwaysRun=true即可,如@Test(dependsOnMethods= {"TestNgLearn1"}, alwaysRun=true); 在TestNG中,我們使用dependOnMethods和dependsOnGroups來實現依賴測試。 且這兩個都支持正則表達式,如范例三所示,如下為幾個使用范例: ``` public class TestCase1 { ? ? @Test(enabled=true) ? ? public void TestNgLearn1() { ? ? ? ? System.out.println("this is TestNG test case1"); ? ? } ? ?? ? ? @Test(dependsOnMethods= {"TestNgLearn1"}) ? ? public void TestNgLearn2() { ? ? ? ? System.out.println("this is TestNG test case2"); ? ? } } ``` 運行結果: ``` this is TestNG test case1 this is TestNG test case2 PASSED: TestNgLearn1 PASSED: TestNgLearn2 ``` * 范例二,被依賴方法fail: ``` public class TestCase1 { ? ? @Test(enabled=true) ? ? public void TestNgLearn1() { ? ? ? ? System.out.println("this is TestNG test case1"); ? ? ? ? Assert.assertFalse(true); ? ? } ? ?? ? ? @Test(dependsOnMethods= {"TestNgLearn1"}) ? ? public void TestNgLearn2() { ? ? ? ? System.out.println("this is TestNG test case2"); ? ? } } ``` 結果: ``` this is TestNG test case1 FAILED: TestNgLearn1 junit.framework.AssertionFailedError ?? ?at junit.framework.Assert.fail(Assert.java:47) ?? ?at junit.framework.Assert.assertTrue(Assert.java:20) ?? ?at junit.framework.Assert.assertFalse(Assert.java:34) ?? ?at junit.framework.Assert.assertFalse(Assert.java:41) ?? ?at com.demo.test.testng.TestCase1.TestNgLearn1(TestCase1.java:26) ?? ?at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ?? ?at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ?? ?at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ?? ?at java.lang.reflect.Method.invoke(Method.java:498) ?? ?at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:104) ?? ?at org.testng.internal.Invoker.invokeMethod(Invoker.java:645) ?? ?at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:851) ?? ?at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1177) ?? ?at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:129) ?? ?at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:112) ?? ?at org.testng.TestRunner.privateRun(TestRunner.java:756) ?? ?at org.testng.TestRunner.run(TestRunner.java:610) ?? ?at org.testng.SuiteRunner.runTest(SuiteRunner.java:387) ?? ?at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:382) ?? ?at org.testng.SuiteRunner.privateRun(SuiteRunner.java:340) ?? ?at org.testng.SuiteRunner.run(SuiteRunner.java:289) ?? ?at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52) ?? ?at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86) ?? ?at org.testng.TestNG.runSuitesSequentially(TestNG.java:1293) ?? ?at org.testng.TestNG.runSuitesLocally(TestNG.java:1218) ?? ?at org.testng.TestNG.runSuites(TestNG.java:1133) ?? ?at org.testng.TestNG.run(TestNG.java:1104) ?? ?at org.testng.remote.AbstractRemoteTestNG.run(AbstractRemoteTestNG.java:114) ?? ?at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:251) ?? ?at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:77) SKIPPED: TestNgLearn2 ``` 范例三、group依賴: 如下所示,method1依賴group名稱為init的所有方法: ``` @Test(groups = { "init" }) public void serverStartedOk() {} ? @Test(groups = { "init" }) public void initEnvironment() {} ? @Test(dependsOnGroups = { "init.*" }) public void method1() {} ``` 這里init這個group中的兩個方法的執行順序如果沒有在xml中指明則是按照方法名英文字母的字典順序執行的。
                  <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>

                              哎呀哎呀视频在线观看