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

有做lol直播网站有哪些人陈木胜老婆吴君如

有做lol直播网站有哪些人,陈木胜老婆吴君如,深圳网络营销招聘,免费logo设计生成器图片有时#xff0c;当我们收到对jOOQ或其他库的拉取请求时#xff0c;人们会将单元测试中的代码更改为更“惯用的JUnit”。 特别是#xff0c;这意味着他们倾向于更改此代码#xff08;公认的不是那么漂亮的代码#xff09;#xff1a; Test public void testValueOfIntInv… 有时当我们收到对jOOQ或其他库的拉取请求时人们会将单元测试中的代码更改为更“惯用的JUnit”。 特别是这意味着他们倾向于更改此代码公认的不是那么漂亮的代码 Test public void testValueOfIntInvalid() {try {ubyte((UByte.MIN_VALUE) - 1);fail();}catch (NumberFormatException e) {}try {ubyte((UByte.MAX_VALUE) 1);fail();}catch (NumberFormatException e) {} } …成为“更好”和“更清洁”的版本 Test(expected NumberFormatException.class) public void testValueOfShortInvalidCase1() {ubyte((short) ((UByte.MIN_VALUE) - 1)); }Test(expected NumberFormatException.class) public void testValueOfShortInvalidCase2() {ubyte((short) ((UByte.MAX_VALUE) 1)); }我们获得了什么 没有 当然我们已经必须使用Test批注因此我们不妨使用其expected的属性对吗 我声称这是完全错误的。 有两个原因。 当我说“两个”时我的意思是“四个” 1.在代码行数方面我们并没有真正获得任何好处 比较语义上有趣的位 // This: try {ubyte((UByte.MIN_VALUE) - 1);fail(Reason for failing); } catch (NumberFormatException e) {}// Vs this: Test(expected NumberFormatException.class) public void reasonForFailing() {ubyte((short) ((UByte.MAX_VALUE) 1)); } 给定或采用空格格式基本语义信息量完全相同 该方法正在测试中的ubyte() 。 这不会改变 我们要传递给失败报告的消息以字符串或方法名称表示 异常类型和预期的事实 因此即使从样式角度来看这也不是真正有意义的更改。 2.我们还是必须将其重构 在注释驱动的方法中我所能做的就是测试异常类型 。 例如在以后要添加更多测试的情况下我无法对异常消息做出任何假设。 考虑一下 // This: try {ubyte((UByte.MIN_VALUE) - 1);fail(Reason for failing); } catch (NumberFormatException e) {assertEquals(some message, e.getMessage());assertNull(e.getCause());... } 3.单个方法调用不是单位 单元测试称为testValueOfIntInvalid() 。 因此 通常在输入无效的情况下要测试的语义“单位”是UByte类型的valueOf()行为的语义“单位”。 不适用于单个值例如UByte.MIN_VALUE - 1 。 不应将其拆分为更小的单元仅因为这是我们将Test注释塞入其功能范围的唯一方法。 TDD员工请听此。 我从不希望将我的API设计或我的逻辑塞进“落后”测试框架没有个人的JUnit所施加的一些怪异的限制中。 永不 “我的” API比“您的”测试重要100倍。 这包括我不想 公开一切 使一切都没有定论 使一切都能注射 使所有内容均为非静态 使用注释。 我讨厌注解。 不。 你错了。 Java已经不是一种太复杂的语言但是让我至少可以以我想要的任何方式使用它提供的一些功能。 不要因为测试而在我的代码上强加您的设计或语义上的毁损。 好。 我反应过度了。 我总是在存在批注的情况下 。 因为… 4.对于控制流结构而言注释始终是错误的选择 一次又一次我为Java生态系统中的注释滥用而感到惊讶。 注释对三件事有好处 可处理的文档例如Deprecated 方法成员类型等的自定义“修饰符”例如Override 面向方面的编程例如Transactional 并且要注意 Transactional是使其成为主流的少数几个真正有用的方面之一日志挂钩是另一个方面或者如果绝对必须的话依赖注入。 在大多数情况下AOP是解决问题的利基技术您通常在普通程序中不希望这样做。 用注解对控制流结构进行建模绝对不是一个好主意更不用说测试行为了 是。 Java已经采用了很长的缓慢的方法来包含更复杂的编程习惯用法。 但是如果您对单元测试中偶尔的try { .. } catch { .. }语句的冗长性感到不满那么您可以找到解决方案。 是Java 8。 如何使用Java 8更好地做 JUnit lambda正在开发中 http : //junit.org/junit-lambda.html 他们向新的Assertions类添加了新的功能API https : //github.com/junit-team/junit-lambda/blob/master/junit5-api/src/main/java/org/junit/gen5/api /Assertions.java 一切都基于Executable功能接口 FunctionalInterface public interface Executable {void execute() throws Exception; } 该可执行文件现在可以用于实现断言引发或不引发异常的代码。 请参见Assertions的以下方法 public static void assertThrows(Class? extends Throwable expected, Executable executable) {expectThrows(expected, executable); }public static T extends Throwable T expectThrows(ClassT expectedType, Executable executable) {try {executable.execute();}catch (Throwable actualException) {if (expectedType.isInstance(actualException)) {return (T) actualException;}else {String message Assertions.format(expectedType.getName(), actualException.getClass().getName(),unexpected exception type thrown;);throw new AssertionFailedError(message, actualException);}}throw new AssertionFailedError(String.format(Expected %s to be thrown, but nothing was thrown., expectedType.getName())); } 而已 现在那些反对try { .. } catch { .. }块的冗长的人可以重写此代码 try {ubyte((UByte.MIN_VALUE) - 1);fail(Reason for failing); } catch (NumberFormatException e) {} …变成这样 expectThrows(NumberFormatException.class, () - ubyte((UByte.MIN_VALUE) - 1)); 如果我想对异常进行进一步检查可以这样做 Exception e expectThrows(NumberFormatException.class, () - ubyte((UByte.MIN_VALUE) - 1)); assertEquals(abc, e.getMessage()); ... 出色的工作JUnit lambda团队 函数式编程每次都会击败注释 注释被滥用了很多逻辑 主要是在JavaEE和Spring环境中它们都迫切希望将XML配置移回Java代码。 这是错误的方法这里提供的示例清楚地表明与使用批注相比几乎总是有一种更好的方法可以使用面向对象或功能编程来显式地写出控制流逻辑。 在Test(expected ...)的情况下我得出结论 安息 expected 无论如何它不再是JUnit 5 Test批注的一部分 翻译自: https://www.javacodegeeks.com/2016/01/use-junits-expected-exceptions-sparingly.html
http://www.zqtcl.cn/news/74010/

相关文章:

  • 成都信用体系建设网站wordpress snow 3d
  • 网站系统 建设和软件岗位职责做 网站 要专线吗
  • 宁波网站制作企业望江县建设局网站
  • 网站建设课程的建议做有网被视频网站有哪些
  • 上海专业网站建站品红色大气宽屏企业网站源码 带后台中英文双语外贸企业网站源码
  • 查看邮箱注册了哪些网站在一个城市做相亲网站
  • 哈尔滨行业网站怎么制作手机网页
  • 建设联结网同类网站跨境电商平台开发
  • 遵义花果园网站建设百度竞价广告收费标准
  • 南昌大型网站制作炫的手机网站
  • 做推广用的网站网站建立明细预计表
  • 郑州外贸网站建设商家opensearch wordpress
  • 天津专业网站制作制作网站方法
  • 网站常见攻击学交互设计网站
  • 网站开发有哪些要求网站建设多少价格
  • 作文网入口百度推广seo是什么意思
  • wordpress 跨站调用知名网站制作公司有哪些
  • 残疾人无障碍网站建设WordPress勾选评论
  • 网站开发 面试郑州哪个医院看妇科病最好的医院
  • 建设厅网站查询三类人员找客户信息的软件
  • 如何用百度上传图片做网站外链建设工程管理网站
  • 中国建设银行邵阳分行网站珠海网站建设开发
  • 做外贸有哪些好的网站有哪些wordpress无法上传exe
  • 中国新兴建设招聘网站西安公司官网制作
  • 徐州企业网站制作手机建设网站公司
  • 宣传片制作标准企业网站优化培训
  • iis网站属性里嘉兴做美食图片的网站
  • 专业的网页设计和网站建设公司网站稳定性
  • 如何维护企业电子商务网站建设win10优化大师有用吗
  • 用网站空间可以做有后台的网站吗WordPress网站结构优化