当前位置: 首页 > news >正文

网站建设数据库放哪做网站和推广工资多少

网站建设数据库放哪,做网站和推广工资多少,装修网站官网,网站cmd做路由分析在JUnit 4中编写参数化测试非常麻烦。 JUnit 5对框架进行了一些有用的改进#xff0c;并且使用不同的参数运行相同的测试比以前的版本要简单得多。 但是#xff0c;在这样的参数中传递空值存在一个小问题。 在这篇文章中#xff0c;我将向您展示如何在JUnit 5中的Parametrz… 在JUnit 4中编写参数化测试非常麻烦。 JUnit 5对框架进行了一些有用的改进并且使用不同的参数运行相同的测试比以前的版本要简单得多。 但是在这样的参数中传递空值存在一个小问题。 在这篇文章中我将向您展示如何在JUnit 5中的ParametrziedTest的CvsSource和ValueSource中传递null 。 1. CsvSource中的空值 为了分析问题我们需要一个示例案例。 假设我们创建了一个名为DateRange的类其中包含一个时间段的两个边界日期。 仅当您将至少一个边界日期传递给构造函数时才能创建新对象。 我们还需要确保开始日期早于结束日期。 使用JUnit 5中的ParametrizedTest 我们可以通过以下两个测试来描述给定的需求。 ParameterizedTest CsvSource({2017-06-01, 2018-10-15,null, 2018-10-15,2017-06-01, null }) void shouldCreateValidDateRange(LocalDate startDate, LocalDate endDate) {new DateRange(startDate, endDate); }ParameterizedTest CsvSource({2018-10-15, 2017-06-01,null, null }) void shouldNotCreateInvalidDateRange(LocalDate startDate, LocalDate endDate) {assertThrows(IllegalArgumentException.class, () - new DateRange(startDate, endDate)); } 但是当您尝试执行这些测试时最终将出现类似于以下所示的错误。 org.junit.jupiter.api.extension.ParameterResolutionException转换索引0处的参数时出错无法将字符串“ null”转换为java.time.LocalDate类型 尽管JUnit 5附带了许多内置的转换器从字符串值到不同类型 但是 ValueSource或 CsvSource中 不接受空值 。 那么如何强制JUnit 5使用空文字呢 2.自定义可为空的参数转换器 幸运的是JUnit 5具有灵活性我们可以轻松扩展其功能。 默认情况下框架使用DefaultArgumentConverter类将String转换为其他类型。 我们的目标是将字符串“ null”表示为空文字。 其他字符串值应使用默认转换器进行转换。 为此我们创建一个扩展SimpleArgumentConverter的类并实现其抽象的convert方法。 在主体中我们检查“空”值。 在其他情况下我们执行默认转换器。 import org.junit.jupiter.params.converter.DefaultArgumentConverter;public final class NullableConverter extends SimpleArgumentConverter {Overrideprotected Object convert(Object source, Class? targetType) throws ArgumentConversionException {if (null.equals(source)) {return null;}return DefaultArgumentConverter.INSTANCE.convert(source, targetType);} } 请注意 自JUnit 5.2起上面提供 的 DefaultArgumentConverter.convert 的签名 就可用。 3.使用自定义参数转换器 准备好自定义转换器后我们可以在测试中使用ConvertWith批注对其进行调用。 ParameterizedTest CsvSource({2017-06-01, 2018-10-15,null, 2018-10-15,2017-06-01, null }) void shouldCreateValidDateRange(ConvertWith(NullableConverter.class) LocalDate startDate,ConvertWith(NullableConverter.class) LocalDate endDate) {new DateRange(startDate, endDate); }结论 至此您应该已经知道如何在JUnit 5参数源中接受空值以进行参数化测试。 我希望这种转换在框架的将来版本中将是自动的。 目前我们需要一个小的解决方法。 如有任何疑问请保留在评论中。 如果您想了解最新帖子请关注我或加入订阅列表。 翻译自: https://www.javacodegeeks.com/2018/10/parameterizedtest-null-values-cvssource.html
http://www.zqtcl.cn/news/251777/

相关文章:

  • 个人导航网站怎么备案js调用wordpress文章列表
  • 网站微信推广方案衡水外贸网站建设
  • 怎么打造自己的网站如何做自已网站
  • 美容美发网站模板wordpress适合优化吗
  • 网站开发的著作权和版权沧州市做网站价格
  • 优客逸家网站源码酒吧装修
  • 深圳网站制作的公司怎么样开工作室做网站怎样找资源
  • 大连城乡建设局网站seo编辑招聘
  • 网站建设意见怎么在中国移动做网站备案
  • 做内贸哪个网站找客户网络外包
  • 古玩网站建设意义钟山县住房和城乡建设局网站
  • 网站开发微信公众号自定义菜单规则网站建设
  • 营销网站建设工作教育培训wordpress主题
  • 温州地区做网站公司如何注册新公司
  • 做的网站怎样评估价值全国信息公示系统官网
  • 外国网站签到做任务每月挣钱1g内存vps 开电影网站
  • 营销型网站案例易网拓互联购物
  • 河南企业网站制作微信小程序如何做
  • 金坛住房和城乡建设局网站wordpress 需要授权吗
  • 个人理财的网站开发天津 公司网站建设
  • 做电脑游戏破解的网站大宗交易平台软件
  • 男女做暖暖视频免费网站网络营销策划案ppt
  • 普通网站 多大空间网站开发报告参考文献
  • 来宾住房和城乡建设网站pc网站建设哪
  • WordPress一键开启全站SSL东莞企业网站建设公司
  • 青海省公路建设管理局官方网站wordpress 加入地图
  • 建湖专业做网站的公司如何制作wordpress网站地图
  • 做自媒体查找素材的网站石家庄网站建设费用
  • 建立局域网网站怎么做外国网站
  • 绍兴专业网站建设公司网站seo设计