草庐IT

static-assert

全部标签

【单元测试】java中assert(断言)的使用

 assert介绍编写代码时,我们总是会做出一些假设,断言就是用于在代码中捕捉这些假设,可以将断言看作是异常处理的一种高级形式。assert:是java,C等语言关键字当我们测试service层代码时,是一种容错机制,用于验证代码是否符合编码人员的预期断言表示为一些布尔表达式可以在任何时候启用和禁用断言验证,因此可以在测试时启用断言,而在部署时禁用断言。同样,程序投入运行后,最终用户在遇到问题时可以重新启用断言。格式:assert[boolean表达式:错误表达式(日志)]例子inta=1;intb=2;asserta>b:"错误";报错日志java.lang.AssertionError:错

static关键字,main方法,代码块,final关键字

static关键字,main()方法,代码块,final关键字static关键字的使用:static:静态的static可以修饰:属性、方法、代码块、内部类使用static修饰的变量:静态变量(类变量)3.1属性:实例变量:我们创建了多个类的对象,每个对象都拥有一套独立的类的非静态属性,当修改其中一个对象的非静态属性时,不会导致其他对象中相同的属性值更改。静态变量:当我们创建了多个对象时,多个对象共享一个静态变量。当我们修改某一个对象的静态变量时会导致其他对象调用此变量是修改过的。3.2static修饰属性的其他说明:静态变量随着类的加载而加载,可以通过"类.静态变量"的方法进行调用,可以不用

static关键字,main方法,代码块,final关键字

static关键字,main()方法,代码块,final关键字static关键字的使用:static:静态的static可以修饰:属性、方法、代码块、内部类使用static修饰的变量:静态变量(类变量)3.1属性:实例变量:我们创建了多个类的对象,每个对象都拥有一套独立的类的非静态属性,当修改其中一个对象的非静态属性时,不会导致其他对象中相同的属性值更改。静态变量:当我们创建了多个对象时,多个对象共享一个静态变量。当我们修改某一个对象的静态变量时会导致其他对象调用此变量是修改过的。3.2static修饰属性的其他说明:静态变量随着类的加载而加载,可以通过"类.静态变量"的方法进行调用,可以不用

使用Mockito模拟Static静态方法

前言Mockito3.4.0版本之后增加了对Static方法的支持,在这里简单记录下Mockito.mockStatic方法的用法测试代码这是待测试的方法,用到了TestUtil.getString这个静态方法,将使用Mockito改变他的返回值publicclassTestTarget{ publicbooleanisEqual(Stringsource){ Stringtarget=TestUtil.getString(source); System.out.println("targetis:"+target); returnsource.equals(target); }}测试方

使用Mockito模拟Static静态方法

前言Mockito3.4.0版本之后增加了对Static方法的支持,在这里简单记录下Mockito.mockStatic方法的用法测试代码这是待测试的方法,用到了TestUtil.getString这个静态方法,将使用Mockito改变他的返回值publicclassTestTarget{ publicbooleanisEqual(Stringsource){ Stringtarget=TestUtil.getString(source); System.out.println("targetis:"+target); returnsource.equals(target); }}测试方

java笔记(this,super,override,instanceof,static)

super关键字的一些注意事项子类在执行构造方法时,如果显式使用super()显式调用父类构造方法,则该调用必须放代码块在第一行super必须出现在子类的方法或者构造方法中使用this()显示调用构造方法,则该调用必须放在代码块第一行由于第一条和第三条限制,super和this不能同时调用构造方法classP1{publicP1(){//this();//不可以递归调用构造方法}publicP1(Stringstr){this();//可以调用重载的构造方法,该调用必须放在第一行}}classS1extendsP1{publicS1(){super();//显式调用父类构造方法,该调用必须放在

java笔记(this,super,override,instanceof,static)

super关键字的一些注意事项子类在执行构造方法时,如果显式使用super()显式调用父类构造方法,则该调用必须放代码块在第一行super必须出现在子类的方法或者构造方法中使用this()显示调用构造方法,则该调用必须放在代码块第一行由于第一条和第三条限制,super和this不能同时调用构造方法classP1{publicP1(){//this();//不可以递归调用构造方法}publicP1(Stringstr){this();//可以调用重载的构造方法,该调用必须放在第一行}}classS1extendsP1{publicS1(){super();//显式调用父类构造方法,该调用必须放在

成功解决 cv2.error: OpenCV(4.6.0) D:\a\opencv-python以及Assertion“t>=0&&t<=n_classes“failed(训练PSPNet)

在上一篇的问题之后,我又遇到了如下问题:cv2.error:OpenCV(4.6.0)D:\a\opencv-python\opencv-python\opencv\modules\img意思是输入为空,那就是我找的训练集有问题这篇文章(PSPNet)用的是ADE20k数据集,我从网上(http://sceneparsing.csail.mit.edu/)下载了训练图片和标注,改路径改了好久,把标注和图片放在合适的位置,终于跑起来了!(中间又碰到了一大堆小问题,但不值一提,逐个解决了)但是,又遇到了下面的问题每次都是跑了几下突然停了,好气网络没有任何问题,那就找输入的问题我一开始用的是Scen

成功解决 cv2.error: OpenCV(4.6.0) D:\a\opencv-python以及Assertion“t>=0&&t<=n_classes“failed(训练PSPNet)

在上一篇的问题之后,我又遇到了如下问题:cv2.error:OpenCV(4.6.0)D:\a\opencv-python\opencv-python\opencv\modules\img意思是输入为空,那就是我找的训练集有问题这篇文章(PSPNet)用的是ADE20k数据集,我从网上(http://sceneparsing.csail.mit.edu/)下载了训练图片和标注,改路径改了好久,把标注和图片放在合适的位置,终于跑起来了!(中间又碰到了一大堆小问题,但不值一提,逐个解决了)但是,又遇到了下面的问题每次都是跑了几下突然停了,好气网络没有任何问题,那就找输入的问题我一开始用的是Scen

面向对象编程之断言assert

面向对象编程之断言assert还是熟悉的八股文断言(assertion)是一种在程序中的一阶逻辑(如:一个结果为真或假的逻辑判断式),目的为了表示与验证软件开发者预期的结果——当程序执行到断言的位置时,对应的断言应该为真。若断言不为真时,程序会中止执行,并给出错误信息。编写代码时,我们总是会做出一些假设,断言就是用于在代码中捕捉这些假设。程序员相信在程序中的某个特定点该表达式值为真,可以在任何时候启用和禁用断言验证,因此可以在测试时启用断言而在部署时禁用断言。同样,程序投入运行后,最终用户在遇到问题时可以重新启用断言。使用断言可以创建更稳定、品质更好且不易于出错的代码。当需要在一个值为FALS