java - 单元测试 try catch 抛出异常的最佳方法是什么?
问题描述
final GregorianCalendar calendar = new GregorianCalendar();
final XMLGregorianCalendar dt;
try {
dt = DatatypeFactory.newInstance().newXMLGregorianCalendar(calendar);
} catch (DatatypeConfigurationException e) {
throw new IllegalArgumentException(e);
} return dt;
解决方案
您可以编写一个 Junit4 库来测试IllegalArgumentException.class
异常如下假设您的方法签名是XMLGregorianCalendar getCalendar()
@Test(expected = IllegalArgumentException.class)
public void whenExceptionThrown_thenExpectationSatisfied() {
getCalendar();
}
XMLGregorianCalendar getCalendar() {
final GregorianCalendar calendar = new GregorianCalendar();
final XMLGregorianCalendar dt;
try {
dt = DatatypeFactory.newInstance().newXMLGregorianCalendar(calendar);
} catch (DatatypeConfigurationException e) {
throw new IllegalArgumentException(e);
}
return dt;
}
六月 5
@Test
void testGetCalendar() {
Assertions.assertThrows(IllegalArgumentException.class, () -> {
getCalendar();
});
}
推荐阅读
- ios - 从 LocationManager SwiftUI 获取纬度和经度的问题
- c++ - C++ boost::qi 将空格和换行符分隔的数字解析为二维向量
- c# - 如何在 C# 中正确编码阿拉伯字幕?
- laravel - 在 vue-acl 中更新权限
- node.js - 如何在 discord.js 中制作未知的命令提示符
- python - 使用pip安装tensorflow时如何处理ERROR
- python - 这个谷歌代码中括号 START/END 注释的目的是什么?
- node.js - npm install - 在 node-sass@3.13.1 安装后脚本失败
- c++ - 如何解决这个错误?购买和库存问题只允许一次交易
- java - 在有关系的实体上发布关于 Spring Boot olingo 的帖子