抛出异常的方法的 JUnit 测试

代码机器人

我有一个方法,当给定的日期和时间无效时抛出异常。

try {
    startDateTime = LocalDateTime.parse(startDate, DATE_TIME_FORMATTER);
    endDateTime = LocalDateTime.parse(endDate, DATE_TIME_FORMATTER);
} catch (DateTimeParseException e) {
     LOGGER.error(ERROR_PARSING_DATE_TIME, e);
     return false;
}

在测试中,我试图用无效数据验证此异常。

@Test
public void should_throw_an_exception_if_failed_to_parse_dates() {
    try {
        parseStartAndEndDates("sdf", "ssdf"); // parsing invalid data here
        fail(); //remember this line, else 'may' false positive
    } catch (DateTimeParseException e) {
        assertThat(e.getMessage(), is(ERROR_PARSING_DATE_TIME));
    }
}

但这总是失败。测试这种情况的正确方法应该是什么。

沙津

将您的测试代码更改如下,因为false如果DateTimeParseException抛出异常,您将返回

@Test
public void should_throw_an_exception_if_failed_to_parse_dates() {
    assertThat(parseStartAndEndDates("sdf", "ssdf")).isFalse(); // parsing invalid data here

}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

JUnit测试自定义异常

来自分类Dev

JUnit测试静态void方法

来自分类Dev

JUnit:是否成功捕获异常的成功测试

来自分类Dev

Junit测试构造函数中的异常?

来自分类Dev

JUnit测试方法未执行

来自分类Dev

Junit测试相关方法

来自分类Dev

JUnit测试事务方法

来自分类Dev

为什么我的`main()`不能捕获junit测试中`timer`抛出的异常?

来自分类Dev

JUnit测试:从内部方法调用强制异常

来自分类Dev

在不同的JUnit测试中管理检查的异常

来自分类Dev

如果抛出JUnit ExpectedException,如何继续测试?

来自分类Dev

JUnit异常处理测试

来自分类Dev

Junit:测试方法中的子句

来自分类Dev

以Span为参数抛出异常的测试方法

来自分类Dev

JUnit 5测试套件选择测试方法

来自分类Dev

Junit测试Rxjava方法

来自分类Dev

JUnit测试静态void方法

来自分类Dev

为什么我的`main()`不能捕获junit测试中`timer`中抛出的异常?

来自分类Dev

从JUnit测试中捕获并重新抛出异常

来自分类Dev

JUnit:测试异常无法正常工作(AssertionError:即使抛出异常也会出现预期的异常)

来自分类Dev

无法使用JUnit测试方法

来自分类Dev

动态运行JUnit测试方法

来自分类Dev

JUnit异常处理测试

来自分类Dev

Junit:测试方法中的子句

来自分类Dev

异常测试 - Junit 4

来自分类Dev

最终在 RSpec 中抛出异常的测试方法

来自分类Dev

setter 方法的 JUnit 测试

来自分类Dev

Junit - 测试使用 Foreach 的方法

来自分类Dev

SpringBoot Junit 测试主要方法