`

testNG学习之超时设置和异常测试

阅读更多
1、设置测试方法的超时时间
       有些测试用例中某些部分可能会导致耗时异常,比如里面有个循环,可能会导致死循环,我们不可能一直等待下去,可以通过设定用例运行最大时间来避免无休止的等待,超过这个时间,就认为用例失败,继续执行其他用例。
       用@Test(timeOut=xxx) 指定超时时间,单位是毫秒。
<code="java">
@Test(timeOut=1000)
public void tester1() throws InterruptedException {
System.out.println("this is tester1");
Thread.sleep(2000);
System.out.println("time not out");
}
@Test(timeOut=3000)
public void tester2() throws InterruptedException {
System.out.println("this is tester2");
Thread.sleep(2000);
System.out.println("time not out");
}
</code>
       上面tester1将执行失败,报错java.lang.ArrayIndexOutOfBoundsException,tester2执行成功。

2、异常测试
        有些测试用例需要输入异常数据,验证程序是否抛出异常,通过expectedExceptions参数来测试预期的异常。
<code="java">
@Test(expectedExceptions = RuntimeException.class)
  public void exceptiontest1() {
  System.out.println("exceptiontest1");
  }
  @Test(expectedExceptions = ArithmeticException.class)
  public void exceptiontest2() {
  int i = 1/0;
  System.out.println(i);
  }
@Test(expectedExceptions = RuntimeException.class)
  public void exceptiontest3() {
  System.out.println("exceptiontest1");
          throw new RuntimeException();
  }
</code>
        上面第一个测试用例失败,第二个和第三个成功。
分享到:
评论

相关推荐

    Httpclient+testng接口测试小例子

    9. **异常处理**:在测试方法中,考虑可能发生的异常情况,如网络错误、超时等,使用try-catch结构捕获并处理异常。 10. **生成测试报告**:TestNG会自动生成详细的测试报告,包括测试结果、执行时间等信息,这对于...

    Java测试新技术-TestNG

    10. 灵活的配置选项:TestNG允许测试者根据需求,灵活配置测试的各个方面,包括测试优先级、测试依赖关系、超时设置等。 在应用层面,TestNG作为Java测试框架,广泛应用于软件开发中的自动化测试中。开发人员利用...

    testng官方文档及使用图解.rar

    支持并发测试,可以通过`@Test(threadPoolSize = x, invocationCount = y, timeout = z)`注解设置线程池大小、执行次数和超时时间。 4. **依赖管理**: 使用`@DependsOnMethods`注解,可以指定一个测试方法依赖于...

    testng-sandbox:探索测试

    在这个项目中,我们可以看到如何设置和运行TestNG测试,以及如何利用其特性来优化测试流程。 首先,让我们深入了解一下TestNG的一些核心概念: 1. **测试注解**:TestNG支持多种注解,如@Test、@BeforeSuite、@...

    软件测试与Junit实践.rar

    它还支持注解(Annotations),例如`@Test`,可以方便地定义测试行为,比如测试预期异常或设置测试超时。 在使用JUnit时,我们可以利用断言(Assertions)来验证代码的输出是否符合预期。例如,`assertEquals`方法...

    测试大包.zip

    JUnit还支持异常测试、参数化测试和超时测试等高级特性。 在《测试驱动开发的艺术》中,作者可能探讨了TDD在实际项目中的应用,包括如何设计可测试的代码、如何编写有效的测试用例、以及TDD如何促进软件质量的提升...

    JUnit测试源码

    3. **异常测试**:可以使用@Test注解的expected属性来测试方法是否抛出了预期的异常,例如`@Test(expected = NullPointerException.class)`。 4. **测试套件**:通过使用@RunWith注解和Suite类,可以组合多个测试类...

    junit4测试源码 免费

    3. **异常测试**:`@Test(expected = Exception.class)`注解可以用来检查测试方法是否抛出了预期的异常。 4. **超时测试**:`@Test(timeout =毫秒值)`可以设置测试方法的执行时间限制,超过限制则测试失败,这有助...

    time_out_program.zip_Time_time out softwa

    3. **插件支持**:Eclipse的扩展性很强,有第三方插件如`Maven Surefire`或`TestNG`在单元测试中支持超时配置。这些工具允许开发者为测试方法设置超时限制,当测试超过指定时间未完成,测试将被标记为失败。 4. **...

    juint测试工具包

    5. **异常测试**: JUnit允许测试预期的异常,比如使用`@Test(expected = Exception.class)`注解,如果方法没有抛出预期的异常,测试就会失败。 6. **超时测试**: 可以设定测试方法的执行时间限制,如果超过这个...

    Junit测试jar包

    4. **异常测试**:如果预期代码应抛出异常,可以使用`@Test(expected = Exception.class)`来捕获并验证异常类型。 5. **测试注解**:JUnit5引入了更多的注解,如`@Before`和`@After`用于定义在每个测试方法执行前后...

    该项目是python关于selenium2 webdriver的自动化部分

    7. **异常处理**:为了使测试更加健壮,项目可能会包含异常处理机制,捕获并处理在测试过程中可能出现的错误和异常,如找不到元素、网络超时等。 8. **日志记录与报告**:为了跟踪测试过程和结果,项目可能会使用...

    JUnit所需jar包及文档 junit4.12.jar

    3. **异常测试**:通过`@Test`注解的`expected`属性,可以指定测试方法应该抛出的异常类型,如果抛出的异常与预期不符,测试失败。 4. **测试套件(Test Suites)**:使用`@RunWith(Suite.class)`和`@Suite....

    单元测试累jar包

    除了JUnit外,还有其他的单元测试框架,如TestNG,它们提供更多的功能和灵活性,但JUnit因其简单易用和广泛的社区支持,一直是Java开发者首选的单元测试工具之一。在实际项目中,根据需求和团队偏好,可以选择适合的...

    junit

    6. **超时设置(Timeouts)**:你可以为测试方法设置超时,如果超过指定时间未完成,测试将失败。这有助于发现潜在的死锁或无尽循环问题。 7. **柔顺测试(Soft assertions)**:JUnit 4提供了`Assume`类,允许你在...

    COOLAF,HTTP客户端测试

    8. **测试框架集成**:如果"CoolAF"是为了测试目的设计的,那么它可能与JUnit、TestNG等测试框架有良好的集成,方便编写单元测试和集成测试。 在压缩包中的"1.2HTTP"文件可能包含的是"CoolAF"库的更新版本,或者是...

    fastdfs客户端单元测试

    单元测试是确保这些接口功能正确性和稳定性的关键步骤,通常会使用JUnit或其他测试框架如TestNG来完成。`FastdfsTest.java`很可能就是这样的一个测试类,它包含了对FastDFS客户端方法的调用和断言,确保在各种情况下...

    junit-4.10单元测试

    4. **超时测试**:使用 `@Test(timeout = XXX)` 注解,可以为测试方法设置执行时间限制。如果超过指定时间仍未完成,测试将失败,这有助于发现可能的死循环问题。 5. **假设(Assumptions)**:JUnit 4.10 引入了 `...

    junit4.9的jar

    3. **异常测试(Exception Testing)**:可以使用`@Test(expected = Exception.class)`注解来检查一个方法是否抛出了预期的异常。 4. **测试套件(Test Suites)**:通过`@RunWith(Suite.class)`注解和`@Suite....

    junit4.7以及hamcrest-core-1.3

    3. **异常测试**:使用@Test注解的expected属性,可以检查方法是否抛出了预期的异常,简化了异常处理的测试代码。 4. **假设(Assumptions)**:JUnit 4.7 提供了Assume类,允许在测试开始前进行假设检查。如果假设...

Global site tag (gtag.js) - Google Analytics