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

陵水黎族自治县网站建设_网站建设公司_AJAX_seo优化

网站地图1 500 怎么做,网站绑定ftp,做门窗安装去哪些网站找生意,昆明网站开发价格大多数人都知道单元测试的重要性和好处#xff0c;以及为什么要在进行的项目中使用它们。 而且#xff0c;大多数人不喜欢在他们从事的项目中编写单元测试。 TDD的人当然处于另一面#xff0c;但根据我的经验#xff0c;他们在IT行业中是少数派。 说到我#xff0c;我和大… 大多数人都知道单元测试的重要性和好处以及为什么要在进行的项目中使用它们。 而且大多数人不喜欢在他们从事的项目中编写单元测试。 TDD的人当然处于另一面但根据我的经验他们在IT行业中是少数派。 说到我我和大多数人在一起:-)。 我知道为什么进行单元测试会很好以及如何提高代码和项目的质量。 我知道您为什么应该投资于它们但是我对编写单元测试并不满意这不是让我彻夜难眠的原因。 我更喜欢创建出色的软件并解决复杂的问题然后编写单元测试。 这就是为什么我一直在寻找可以帮助我获得更多更好的单元测试的东西而这方面的工作却少了很多因为最后您应该在项目中进行单元测试。 Junit Params是可以帮助您以更少的时间编写更好的单元测试的那些事情之一。 您为什么要关心Junit Params 让我们想象一下我们有一个简单的类Person它具有名字和姓氏。 业务要求是姓氏和名字不能为null或空字符串。 我们可以结束与这一课类似的课 public class Person { private final String firstName; private final String lastName; public Person(String first, String last) { if (first null || first.trim().isEmpty() || last null || last.trim().isEmpty() ) { throw new RuntimeException( bad input ); } this .firstName first; this .lastName last; } public String getFirstName() { return firstName; } public String getLastName() { return lastName; } } 下一步是确保代码按预期工作并且考虑了所有极端情况。 我们当然希望使用单元测试来涵盖所有可能性但是如果您考虑一下我们将有很多重复的代码在这些代码中我们会测试所有可能性的名字然后是姓氏然后是所有组合依此类推我们要涵盖所有边缘情况。 在这个简单的类中我们将在单元测试中得到更多的代码然后在业务逻辑中得到更多的代码。 让我们看看JUnit Params如何帮助我们。 初始化设定 为了使用Junit Params您只需像添加其他任何库一样添加依赖项 dependency groupIdpl.pragmatists/groupId artifactIdJUnitParams/artifactId version 1.1 . 1 /version scopetest/scope /dependency 之后我们可以开始在单元测试中使用JUnit Params 使用JUnit参数进行JUnit测试 现在让我们使用JUnit Params编写一些单元测试。 创建简单的测试类PersonTest并添加RunWith JUnitParamsRunner.class RunWith (JUnitParamsRunner. class ) public class PersonTest { ....... } 现在我们可以编写简单的单元测试来验证我们的类。 让我们先检查一下是否一切都很好如果我们将null用作名字 Test (expected RuntimeException. class ) public void fistNameNull() { Person p new Person( null , dummyLast ); } 关于JUnit Params的伟大之处在于我们仍然可以编写标准的单元测试并将其与JUnit Params结合使用。 为了在此单元测试中利用JUnit参数我只需要添加具有适当值的Parameters 然后它将看起来像这样 Test (expected RuntimeException. class ) Parameters ({ , , , }) public void fistNameParamaters(String param) { Person p new Person(param, dummyLast ); } 使用此代码我进行了4个单元测试以验证代码中的值“”“”“”“”和“”。 这已经显示了JUnit参数是多么有用因为您只编写了一个单元测试并且它将针对您参数的所有不同可能性执行该测试。 将参数传递给多个输入参数 如果我们要传递输入值名字和姓氏的参数会发生什么情况。 在这种情况下我们会做这样的事情 Test (expected RuntimeException. class ) Parameters ({ , , // firstName, lastName , , , , , }) public void fistNameLastNameParamaters(String first, String last) { Person p new Person(first, last); } 由于有两个输入参数因此将提供的值一分为二并用作输入。 如您所见为多个参数提供输入非常容易尽管通过这种方式我们需要提供要测试的所有组合。 以用户友好的方式将参数传递给多个输入参数 如果说老实话尽管上面的测试对于多个输入参数可以很好地工作但是它不是非常用户友好的。 让我们在下一个示例中修复该问题 Test (expected RuntimeException. class ) Parameters ({ | , | , | , | }) public void fistNameLastNameParamaters2(String first, String last) { Person p new Person(first, last); } 现在可以更清楚地知道每次迭代中哪个值将用于哪个输入参数。 使用非字符串值作为输入参数 到目前为止所有参数都是字符串。 如果我们的输入参数不是String或容易从String转换为String的东西例如null值该怎么办。 在这种情况下我们可以使用命名参数 Test (expected RuntimeException. class ) Parameters (named emptyStrings ) public void namedParamaters(String first, String last) { Person p new Person(first, last); } NamedParameters ( emptyStrings ) private Object[] emptyStrings() { return new Object[]{ new Object[]{ null , }, new Object[]{ , null }, new Object[]{ , }, new Object[]{ , } }; } 参考 这篇文章中提到的代码示例可以在此网址上找到 https://github.com/vladimir-dejanovic/junit-params-blog-examples 翻译自: https://www.javacodegeeks.com/2019/02/writing-unit-tests-time-junit-parameters.html
http://www.ihoyoo.com/news/101060.html

相关文章:

  • 深圳坪山站网站设计需求分析
  • 重庆网站提示昆明网站制作工具
  • 网站名称没有排名太原网站建设策划
  • 杭州市上城区建设局网站网站语言切换功能如何做
  • 华为怎么设置安全网站网站建设视频教程免费下载
  • 南昌做网站软件公司网站建设哪家比较好
  • 域名主机 网站建设google play下载安装
  • 建一个鲜花买卖网站多少钱住房和城乡建设部文化中心网站
  • 上海网站制作建设多少钱做的比较好的律师网站
  • 实用网站开发南宁手机企业网站定制
  • 论文网站开发wordpress php 7.0
  • 做流程图用什么网站好常州如何进行网站推广
  • 平乡建设局网站如何做网站页面赚钱
  • 互联网网站基础网推啥意思
  • 饰品 东莞网站建设36氪网站是用什么做的
  • 桃城网站建设机关单位网站建设申请
  • 女装网站建设文献综述百度掘金入口官网
  • 长沙网站设计哪家好白石洲附近做网站公司
  • 阳江网站seo服务wordpress怎么上传自己的网站吗
  • 做论坛网站怎么赚钱wordpress内存优化
  • 404错误页面放在网站的哪里广东省建设工程总监扣分查询网站
  • 网站群建设系统有的网站用流量打不开
  • 电子商务网站平台不包括网页设计与制作 培训
  • 贵阳网站建设设计公司wordpress摘要插件
  • 西安建设厅官方网站汽车用品网站规划
  • 如何建立一个免费的网站什么是网络营销中最古老的一种但也是目前应用最广泛的
  • 万网账号跟网站有关系吗seo快速建站
  • 前端招聘去哪个网站个人建设图片分享网站
  • 网站建设功能选择表中国循环经济网站开发与设计
  • 网站建设的展望 视频网站备案一天通过