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

百度免费做网站房子装修设计图用什么软件

百度免费做网站,房子装修设计图用什么软件,百度会收录双域名的网站么,郑州网站制作公司汉狮一、单元测试 就是针对最小的功能单元(方法)#xff0c;编写测试代码对其进行正确性测试。 1. 咱们之前是如何进行单元测试的?有啥问题? 只能在main方法编写测试代码#xff0c;去调用其他方法进行测试。无法实现自动化测试#xff0c;一个方法测试失败#xff0c;可能…一、单元测试 就是针对最小的功能单元(方法)编写测试代码对其进行正确性测试。 1. 咱们之前是如何进行单元测试的?有啥问题? 只能在main方法编写测试代码去调用其他方法进行测试。无法实现自动化测试一个方法测试失败可能影响其他方法的测试。无法得到测试的报告需要程序员自己去观察测试是否成功。 2. Junit单元测试框架 可以用来对方法进行测试它是第三方公司开源出来的(很多开发工具已经集成了Junit框架比如IDEA) 2.1 优点 可以灵活的编写测试代码可以针对某个方法执行测试也支持一键完成对全部方法的自动化测试且各自独立.不需要程序员去分析测试的结果会自动生成测试报告出来。 2.2 快速入门 需求某个系统有多个业务方法请使用Junit单元测试框架编写测试代码完成对这些方法的正确性测试。 具体步骤 将Junit框架的jar包导入到项目中(注意:IDEA集成了Junit框架不需要我们自己手工导入了)为需要测试的业务类定义对应的测试类并为每个业务方法编写对应的测试方法(必须:公共、无参、无返回值)测试方法上必须声明Test注解然后在测试方法中编写代码调用被测试的业务方法进行测试;开始测试:选中测试方法右键选择“JUnit运行”如果测试通过则是绿色;如果测试失败则是红色 可以右键模块run all test自动化一键测试可以点击测试类的运行运行该类的所有自动化测试。 package com.jingwei;import org.junit.Assert; import org.junit.Test;public class StringUtilTest {Testpublic void testPrintNumber(){StringUtil.printNumber(admin);StringUtil.printNumber(null);}Testpublic void testGetMaxIndex(){int maxIndex StringUtil.getMaxIndex(null);System.out.println(maxIndex);int maxIndex1 StringUtil.getMaxIndex(admin);System.out.println(maxIndex1);//断言机制程序员可以通过预测业务方法的结果Assert.assertEquals(4,maxIndex1);} } package com.jingwei;public class StringUtil {public static void printNumber(String name) {if(namenull){System.out.println(名字长度是: 0);return;}System.out.println(名字长度是: name.length());}//求字符串的最大索引public static int getMaxIndex(String data) {if (data null) {return -1;}return data.length()-1;} } 2.3 常用注解 package com.jingwei;import org.junit.*;import java.net.Socket;public class StringUtilTest {private Socket socket;private static Socket socket1;Beforepublic void setUp() throws Exception {System.out.println(---Setup Before 测试配置文件执行了---------);socket new Socket(127.0.0.1, 8888);}Afterpublic void setUp1() throws Exception {System.out.println(---Setup After 测试配置文件执行了---------);socket.close();}BeforeClasspublic static void setUp2() throws Exception {System.out.println(---Setup BeforeClass 测试配置文件执行了---------);socket1new Socket(127.0.0.1, 8888);}AfterClasspublic static void setUp3() throws Exception {System.out.println(---Setup AfterClass 测试配置文件执行了---------);socket1.close();}Testpublic void testPrintNumber(){StringUtil.printNumber(admin);StringUtil.printNumber(null);}Testpublic void testGetMaxIndex(){int maxIndex StringUtil.getMaxIndex(null);System.out.println(maxIndex);int maxIndex1 StringUtil.getMaxIndex(admin);System.out.println(maxIndex1);//断言机制程序员可以通过预测业务方法的结果Assert.assertEquals(4,maxIndex1);} } 二、反射 2.1 反射(Reflection) 反射就是:加载类并允许以编程的方式解剖类中的各种成分(成员变量、方法、构造器等)。 2.2 反射学什么? 学习获取类的信息、操作它们 1、反射第一步:加载类获取类的字节码:Class对象 2、获取类的构造器:Constructor对象 3、获取类的成员变量:Field对象 4、获取类的成员方法:Method对象 全部认识完后再看反射的应用场景 package com.reflect;public class ReflectTest1 {public static void main(String[] args) throws ClassNotFoundException {Class studentClass Student.class;System.out.println(studentClass.getName());System.out.println(studentClass.getSimpleName());Class aClass Class.forName(com.reflect.Student);System.out.println(aClass.getName());System.out.println(studentClass aClass);Class tom new Student(Tom,11).getClass();System.out.println(tom.getName());System.out.println(tomstudentClass);} }class Student {String name;int age;public Student(String name, int age) {this.name name;this.age age;} } 2.3 获取类的构造器 package com.reflect;import org.junit.Test;import java.lang.reflect.Constructor;public class ReflectTest2 {Testpublic void testGetConstructors() {//1. 反射第一步必须先得到这个类的class对象ClassStudent studentClass Student.class;//2. 获取类的全部构造器 // Constructor[] constructors studentClass.getConstructors();Constructor[] constructors studentClass.getDeclaredConstructors();//3. 遍历数组中的每个构造器对象for (Constructor constructor : constructors) {System.out.println(constructor.getName() --- constructor.getParameterCount());}}Testpublic void testGetConstructor() throws NoSuchMethodException {ClassStudent studentClass Student.class; // ConstructorStudent constructor studentClass.getConstructor();Constructor constructor studentClass.getDeclaredConstructor();System.out.println(constructor.getName() --- constructor.getParameterCount());Constructor constructor1 studentClass.getDeclaredConstructor(String.class,int.class);System.out.println(constructor1.getName() --- constructor1.getParameterCount());} } 获取类构造器的作用:依然是初始化一个对象返回 package com.reflect;import org.junit.Test;import java.lang.reflect.Constructor; import java.lang.reflect.InvocationTargetException;public class ReflectTest2 {Testpublic void testGetConstructors() {//1. 反射第一步必须先得到这个类的class对象ClassStudent studentClass Student.class;//2. 获取类的全部构造器 // Constructor[] constructors studentClass.getConstructors();Constructor[] constructors studentClass.getDeclaredConstructors();//3. 遍历数组中的每个构造器对象for (Constructor constructor : constructors) {System.out.println(constructor.getName() --- constructor.getParameterCount());}}Testpublic void testGetConstructor() throws NoSuchMethodException, InvocationTargetException, InstantiationException, IllegalAccessException {ClassStudent studentClass Student.class; // ConstructorStudent constructor studentClass.getConstructor();Constructor constructor studentClass.getDeclaredConstructor();System.out.println(constructor.getName() --- constructor.getParameterCount());constructor.setAccessible(true);//禁止检查访问权限可以访问私有构造器破坏封装性能Student o (Student) constructor.newInstance();System.out.println(o);Constructor constructor1 studentClass.getDeclaredConstructor(String.class, int.class);System.out.println(constructor1.getName() --- constructor1.getParameterCount());Student o1 (Student) constructor1.newInstance(叮当猫, 3);System.out.println(o1);} } 2.3 获取类的成员变量 Testpublic void testGetField() throws NoSuchFieldException, IllegalAccessException {//1. 反射第一步必须是先得到类的Class对象ClassStudent studentClass Student.class;//2. 获取类的全部成员变量。Field[] fields studentClass.getDeclaredFields();//3. 遍历这个成员变量数组for (Field field : fields) {System.out.println(field.getName() ---field.getType());}//4. 定位某个成员变量Field declaredField studentClass.getDeclaredField(name);System.out.println(declaredField.getName()---declaredField.getType());Field age studentClass.getDeclaredField(age);System.out.println(age.getName()---age.getType());//赋值Student student new Student();declaredField.setAccessible(true);declaredField.set(student,加菲猫);System.out.println(student);//取值String rs (String) declaredField.get(student);System.out.println(rs);}2.4 获取类的成员方法 Testpublic void testGetMethod() throws NoSuchMethodException, IllegalAccessException, InvocationTargetException, InstantiationException {ClassStudent studentClass Student.class;Method[] methods studentClass.getDeclaredMethods();System.out.println(所有成员方法如下);for (Method method : methods) {System.out.println(method.getName() ---method.getParameterCount()---method.getReturnType());}System.out.println(---------);Method declaredMethod studentClass.getDeclaredMethod(setName, String.class);System.out.println(declaredMethod.getName()---declaredMethod.getParameterCount()---declaredMethod.getReturnType());System.out.println(---------);Method declaredMethod1 studentClass.getDeclaredMethod(getName);System.out.println(declaredMethod.getName()---declaredMethod.getParameterCount()---declaredMethod.getReturnType());Student student new Student(Tom, 12);String invoke (String) declaredMethod1.invoke(student);System.out.println(invoke);Object invoke1 declaredMethod.invoke(student, Mike);System.out.println(invoke1);System.out.println(student.getName());}2.5 作用、应用场景 反射的作用? 基本作用:可以得到一个类的全部成分然后操作。可以破坏封装性。最重要的用途是:适合做lava的框架基本上主流的框架都会基于反射设计出一些通用的功能 Testpublic void saveInfo() throws IOException, IllegalAccessException {People tom new People(Tom, 12);Teacher mike new Teacher(Mike, 21, 22, 123456789);//需求把任意对象的字段名和其对应的值等信息保存到文件中去ObjectFrame.saveInfo(tom);ObjectFrame.saveInfo(mike);}package com.reflect;import java.io.*; import java.lang.reflect.Field;public class ObjectFrame {//需求把任意对象的字段名和其对应的值等信息保存到文件中去public static void saveInfo(Object o) throws IllegalAccessException, IOException {PrintStream printStream new PrintStream(new FileOutputStream(src/com/reflect/info.txt, true));Class? aClass o.getClass();String simpleName aClass.getSimpleName();printStream.println(-------------------------------simpleName--------------------------------);Field[] fields aClass.getDeclaredFields();for (Field field : fields) {field.setAccessible(true);String fieldName field.getName();String value field.get(o);System.out.println(fieldName : value);printStream.println(fieldName value);}} }
http://www.pierceye.com/news/66139/

相关文章:

  • php网站制作实例教程长沙网站制作费用
  • 推荐网站建设服务商城网站设计实训总结
  • 长春网站设计搜索引擎优化论文3000字
  • 网站后台添加不了图片网站建设运用软件
  • 外贸英文商城网站建设网站建设设计问卷
  • 网站建设 技术方案软件开发专业单词
  • 可以做众筹的网站有哪些产品设计软件有哪些软件
  • 做响应式网站的洛阳网站设计
  • 网站建设项目流程wordpress 自动内链
  • 成都的企业网站建设公司定西建设厅网站
  • 用dw做的网站怎么上传专业的定制型网站建设
  • 上海建个人网站比较好的公司天元建设集团有限公司破产了嘛
  • 网站设计培训学校Wordpress需要更新吗
  • 泉州城乡住房建设厅网站湘潭网站建设选择磐石网络
  • 四川省住建设厅网站wordpress搬家502
  • 建设网站公司中做个自己的影院网站怎么做
  • 网站优化查询代码搬瓦工做网站
  • 外贸做的社交网站有哪些网站建设与推广实训总结
  • 大连华南网站建设网站程序模块
  • 用来做旅游攻略的网站php学生管理系统源码免费
  • 网站建设优化服务器网页设计与制作字体设置
  • 巫山网站建设虚拟主机与云服务器的区别
  • 免费的网站后台装修平台自己做网站有几个
  • 在线做mtv网站做宾馆网站
  • 运动服饰网站建设项目规划书下沙做网站
  • 网站建设实力淮南市网站开发的方式
  • 外贸网站商城建设上海哪家公司提供专业的网站建设
  • 网站鉴赏seo优化什么意思
  • 做外贸要自己建网站吗制作相册图片合集
  • 佛山住房和城乡建设部网站官网优秀个人网站案例