`

junit 4中对指定异常的测试

阅读更多
junit 4中,也可以测试指定的异常是否出现了,比如:


public class Person {
  private final String name;
  private final int age;

  
  public Person(String name, int age) {
    this.name = name;
    this.age = age;
    if (age <= 0) {
      throw new IllegalArgumentException('Invalid age:' + age);
    }
  }
}


  要测试是否IllegalArgumentException抛出了,则可以使用注解的annotation:


import static org.hamcrest.Matchers.*;
import static org.junit.Assert.*;

import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.ExpectedException;

public class PersonTest {

  @Rule
  public ExpectedException exception = ExpectedException.none();

  @Test
  public void testExpectedException() {
    exception.expect(IllegalArgumentException.class);
    exception.expectMessage(containsString('Invalid age'));
    new Person('Joe', -1);
  }
}


但很奇怪,居然不能这样:
@Test(expected = IllegalArgumentException.class)
public void testExpectedException2() {
  new Person('Joe', -1);
}

分享到:
评论

相关推荐

    在Eclipse中使用JUnit4进行单元测试

    此外,JUnit4还引入了异常测试。通过`@Test(expected = Exception.class)`,可以指定测试方法预期抛出的异常类型。如果抛出了预期的异常,那么这个测试就算成功。 对于需要延迟执行或者异步测试的情况,JUnit4提供...

    junit4单元测试

    在JUnit4中,你可以使用断言(Assertions)来检查代码执行的结果是否符合预期。例如,`assertEquals()`用于比较两个值是否相等,`assertTrue()`和`assertFalse()`则用于验证某个条件是否为真或假。还有更丰富的断言...

    junit4测试源码

    异常测试也是JUnit4的一个重要特性,可以使用`assertThrows()`来断言预期的异常是否被抛出。例如,`assertThatThrownBy(() -&gt; someCode()).isInstanceOf(ExpectedException.class)`。 JUnit4还引入了`Assume`类,...

    junit4 单元测试源码

    【标题】"junit4 单元测试源码"涉及的是Java编程中单元测试的重要工具JUnit4的使用,这是对代码进行验证和调试的关键部分。JUnit4是JUnit框架的一个版本,它提供了更灵活的注解、测试套件管理和断言方式,使得编写...

    junit4测试工具

    JUnit4还引入了异常测试,可以检查代码是否抛出了预期的异常。例如,`@Test(expected = Exception.class)`可以指定测试方法应抛出特定类型的异常。 在实际使用中,JUnit4可以与其他工具如Mockito结合,实现模拟对象...

    Spring+JUnit4 +Ant测试报告

    JUnit4还支持参数化测试、异常测试等多种测试场景,使得测试更加灵活和全面。 接下来,Ant是一个基于XML的构建工具,用于自动化Java项目中的编译、打包、测试等任务。在Spring和JUnit4的测试环境中,Ant通常被用来...

    junit4学习文档

    而在 JUnit4 中,测试类不再受此限制,可以通过注解来指定测试方法,使得测试类的结构更加自由。 - **测试方法命名** 在 JUnit3 中,所有测试方法必须以 `test` 开头。而在 JUnit4 中,测试方法只需使用 `@Test` ...

    Java单元测试JUnit4.7

    3. **异常测试**:使用@Test注解的可选属性expected,可以指定方法应该抛出的异常类型。如果方法没有抛出预期的异常,测试就会失败。 4. **超时测试**:通过@Test注解的timeout属性,可以设定测试方法的执行时间...

    Junit4测试使例

    通过名为`junit4Demo`的压缩包文件,我们可以看到一系列的JUnit4测试示例,包括基础的断言测试、异常测试、超时测试、参数化测试等。通过对这些示例的实践,开发者可以深入理解JUnit4的各种用法,并将其应用于日常的...

    junit4 jar完整包

    在JUnit4中,我们可以使用断言(Assertion)来验证代码的结果是否符合预期。例如,`assertEquals(expected, actual)`用于检查两个对象是否相等,`assertTrue(condition)`和`assertFalse(condition)`判断一个布尔条件...

    JUnit4JUnit4JUnit4(文档)

    3. **异常测试**: 使用 `@Test` 注解时,可以指定预期的异常类型,如 `@Test(expected = NullPointerException.class)`,当测试方法抛出预期的异常时,测试视为通过。 4. **参数化测试**: JUnit4 提供了 `@...

    JUnit中如何测试异常.doc

    2. 明确异常类型:在 `catch` 子句中指定异常类型,确保捕获到的是预期的异常。例如,`catch (ValidationException e)`。 3. 测试不同类型的异常:对于不同的输入,可能抛出不同类型的异常。确保覆盖所有可能的异常...

    单元测试JUnit4和DbUnit

    1. **异常测试**:使用@Test注解的expected属性来检查特定方法是否抛出预期的异常。 2. **数据驱动测试**:DbUnit支持数据集的参数化,可以通过不同的数据组合运行相同的测试逻辑,提高测试覆盖率。 3. **数据比较**...

    Junit4测试用例示例

    三、异常测试 Junit4提供了断言方法来检测预期的异常。例如,`assertThrows()`可以捕获并验证预期的异常: ```java @Test public void testDivideByZero() { assertThrows(ArithmeticException.class, () -&gt; ...

    junit4单元测试实例

    在JUnit4中,测试类通常继承自`org.junit.Test`,但更常见的是使用注解来定义测试方法。下面是一个简单的例子: ```java import org.junit.*; public class CalculatorTest { @Before public void setUp() { //...

    Junit4.zip

    在JUnit4中,`Assert`类提供了多种断言方法,如`assertEquals()`用于验证预期结果与实际结果是否相等,`assertTrue()`和`assertFalse()`用于验证条件是否满足。这些断言方法是编写测试用例的基础,通过它们可以判断...

    junit 4测试框架培训资料

    JUnit 4测试框架是Java开发中的一个重要工具,用于编写和执行单元测试。单元测试是对软件中的最小可测试单元进行检查,通常是一个函数或方法。它的重要性在于能够确保代码的正确性和稳定性,特别是在软件开发的早期...

Global site tag (gtag.js) - Google Analytics